指针的指针
int a=1;
int *c;
c=&a;
给变量a赋值 1
新建一个指针变量c
把变量a的指针赋值给变量c
-----------------------------------------------------------
int *p;
定义个变量,定义变量p类型为 int*
int* 类型: 指向int的指针
int **p;
定义个变量,定义变量p类型为 int**
int**类型:指向int的指针的指针
---------------------------------------------------------
typedef struct{ int a; int b; }M; int main(int argc, char *argv[]) { M c; printf("%d\n",&c); M b; printf("%d\n",&b);//b的地址 b = c;//b的值等于c printf("%d\n",&b);//b的地址未变 M* ca = (M*)malloc(sizeof(M)); ca->a = 3; M* ce = (M*)malloc(sizeof(M)); printf("%d %d ca ce\n",&ca,&ce);
ce = ca;//指针ce的值等于ca printf("%d %d \n",&ce,ce->a);//ce指针的地址未变 return 0; }