1,指针的含义:指向对象的地址,对象可以是int/float/char,也可以是一个数组或函数;以及指针的作用范围。
2,
整型指针:
int a = 10;
int* p = &a;
浮点型指针:
float b = 10.0;
float* p = &b;
字符型指针:
char c = 'v';
char* p = &c;
3,指针指向对应类型的地址,int* 指向int类型的对象地址,不能指向float 或 char类型的地址;
特殊情况下可指向其他类型对象的地址,
例如:在判断一个系统是大端还是小端存储时,可以定义一个int类型的变量,然后定义char*的指针指向这个变量,通过对指针解引用可以获取一个字节重存储的内容,从而判断大端/小端存储;
4,所有指针占用的空间大小一致,一般为4/8个字节(32位系统4个字节,64位系统8个字节);
5,当一个指针指向一个数组时:
int a[10] = {0};
int* p = a;
a代表数组首元素的地址。
int* p =&a;
如果对数组取地址&,此时代表这个数组元素的地址。
6,当指针指向一个字符数组时:
char arr[10] = 'abcdef';
char* p = arr;
*p 和*(p+1)分别代表什么含义?
p[0]和p[1]代表什么含义?