zoukankan      html  css  js  c++  java
  • 指针和数组(上)

    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语言中一种特别的变量,

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

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

  • 相关阅读:
    vue中插槽的理解
    父子组件的通信
    vue3.0怎么禁用eslint校验代码和修改端口号
    三大排序
    让机器人实现自主行走 没你想的那么难
    国内外知名激光雷达公司盘点
    激光雷达寿命短,思岚通过什么技术来解决?
    浅谈SLAM的回环检测技术
    除了ROS, 机器人定位导航还有其他方案吗?
    思岚科技即将登陆“2018日本机器人周”精彩抢先看
  • 原文地址:https://www.cnblogs.com/dpf-learn/p/6116055.html
Copyright © 2011-2022 走看看