• 指针和数组(上)


    1)指针基础:

    既然程序中的变量只是一段存储空间的别名,那么是不是必须通过这个别名才能使用这段存储空间,

      int main()

        { 

             int i=5;

             int *p=&i;

            printf("%d,%08x ",i,p);

           *p=10;

          printf("%d,%08x ",i,p);

          return 0;

     }

    指针本质:

    指针在本质上也是一变量,

    指针需要要占用一定的内存空间,

    指针用于保存内存地址的值,

    *号的意义:

    在指针声明时,*号表示所声明的变量为指针,

    在指针使用,*号表示取指针所指向的内存空间中的值,

    //指针声明:

    int i=0;

    int j=0;

    int *p=&i;      *号类似一把钥匙,通过这把钥匙可以打开内存,读取内存中的值。

    //取值:

    j=*p;

    指针占用的内存空间,

    指针的地址,

    通过*号写内存,

    传值调用与传址调用:

        指针是变量,因此可以声明指针参数,

        当一个函数体内都需要改变实数参的值,则需要使用参数,

        函数调用时实参值复制到形参,

        指针适用于复杂数据类型作为参数的函数中,

    利用指针实现变量交换函数,

    const int* p;  //p可变,p指向的内容不可变,

    int const *p;//p 可变,p指向的内容不可变,

    int *const p;//p 不可变,p指向的内容可变,

    const int* const p;  //p和p指向的内容都不可变,

    当const 出现在*号左边时指针的数据为常量,

    当const 出现在*后右边时指针本身为常量,

    指针小结:

    指针是c语言中一种特别的变量,

    指针所保存的值是内存的地址,

    可以通过指针修改内存中的任意地址内容,

  • 相关阅读:
    mysql 批量kill locked 进程
    mysql大量locked的一个案例
    Nodejs微信开发使用wechat-api回复多条消息
    nodejs获取ASP.Net WebAPI(IIS Windows验证)
    Nodejs微信开发
    Luis创建与发布
    Bot Framework测试
    使用httpclient异步调用WebAPI接口
    sonarQube Github pull request扫描代码
    sonarQube6.1 升级至6.2
  • 原文地址:https://www.cnblogs.com/dpf-learn/p/6116055.html
Copyright © 2020-2023  润新知