char *p float *a int *q 等等,不同类型的指针,在同一个平台上所占字节数一样,, 但是定义指向某一数组的指针时候,要与数值的类型一样,因为决定了指针没几个字节去读取成一个值,,int,指针4个字节读取成一个数字,,char每一个字节读取成字符
int i =1;
int *p = &i; // p指向i的地址,p中存储 整形变量的地址 *p 取存储地址上的值 ,*p= i
int **q = &p // q 指向p的地址 ,q中存储的是指针变量的地址 *q 取得是 q存储的地址上值,就是i的地址,, 再取* ,取i地址上值 ,
| 3000 | 2000 | 1 |
| q (4000) | p(3000) | i (2000) |
q里面存储的p的地址,p里面存储是i的地址 i的地址是2000;
*q = 2000 = p
*p=**q =1
浙公网安备 33010602011771号