指针是一个变量,值是另一个变量的地址 ,实际内存地址。
int *p 定义指针变量
p=&x 将变量地址赋值给指针
*p 访问指针指向的地址的值
没有明确的赋值
int *p=null;
指针是一个 空值,不指向任何东西。
没有初始化的变量存放这一些垃值,导致很难调试程序。
指针是一个用数值表示的地址,可以对指针进行算数运算。
例如
int a=1000;
int *p;
p=&a;
p++;
a的地址正好是1000;
这时候p=1004;
p每一次自增,就会往后面移动4个位置。
指针的递增递减是一移动位置。比如一个数组:
int a[]={1,2,3,6,9,3,8}
存放了7个数,
int 4个字节。一共28个字节。
int *p;
p=a;
p++;
p每次自走了增的循环操作会执行下一个数组中的元素。
指向数组开头的指针我们可以用指针的算数运算或者是数组的索引去访问。
数组指针:让一个数组存储指向其他数据类型的指针。
int *a[3]
数组a中的每个元素都是指向int类型的指针。
字符指针数组。
char *b[9]
多级指针,指针,**跑,
指针作为参数,能接受指针作为参数的函数,也能接受指针作为参数。
c++可以从函数里面返回一个指针。
int *a(){
…
…
…
…
}
在主函数中声明一个指针变量来接受这个函数返回的指针。