指针:指针是一个变量
指针的步长:整型指针和字符指针的步长不同(原因:保存类型不同):给地址加1,整型运算符加了4个字节,字符运算符加了1个字节。
&:取地址
*:间接运算符 取值运算符:取指针变量对饮的空间 保存的地址对应的内存空间的值;
指向的内存空间:就是这个指针变量对应的内存空间保存的地址对应的内存空间,我们称之为指向的内存空间。
int num = 5;
int *p; p = &p;(相当于int* p = &num)
5 |
num 0x1000
0x1000 |
p 0x2000
num++:num对应的内存空间的值加1;
p++:对p对应的内存空间的值加1;
(*p)++:对p指向的内存空间的值加1;
int **pp;pp = &p 相当于(int ** pp = &p)
0x2000 |
pp 0x3000
远指针:维数比较多的,编译器最多支持32维。
char *ptr = “hello world”
ptr指向首地址。