对于二级指针的引用自己一直很迷惑。思考了一下,最终认为引用这个词要好好理解。最下面有一个内存的图,配合理解。
以下是对于引用的一些代码和输出。
#includeint main(void){ int a = 10, b = 20, c = 30; int *p1 = &a, *p2 = &b;//指针的创建 int **boss1 = &p1; printf("初始值:n"); printf("a=%d,b=%d,c=%d, *p1=%d,*p2=%d, **p1=%dnn",a,b,c,*p1,*p2,**boss1); //改变一级指针的值 *p1 = 11; *p2 = 21; printf("引用:改变一级指针的值:*p1 = 11,*p2 = 21n"); printf("a=%d,b=%d,c=%d, *p1=%d,*p2=%d, **p1=%dnn",a,b,c,*p1,*p2,**boss1); //改变二级指针的值 a = 10; b = 20; c = 30; **boss1 = 12; printf("引用:改变二级指针的值:**boss1 = 12;n"); printf("a=%d,b=%d,c=%d, *p1=%d,*p2=%d, **p1=%dnn",a,b,c,*p1,*p2,**boss1); a = 10; b = 20; c = 30; *boss1 = p2; printf("引用:改变二级指针的值: *boss1 = p2;n"); printf("a=%d,b=%d,c=%d,*p1=%d,*p2=%d,**p1=%dnn",a,b,c,*p1,*p2,**boss1); a = 10; b = 20; c = 30; *boss1 = &c; printf("引用:改变二级指针的值: *boss1 = &c;n"); printf("a=%d,b=%d,c=%d,*p1=%d,*p2=%d,**p1=%dnn",a,b,c,*p1,*p2,**boss1); //改变一级指针 a = 10; b = 20; c = 30; p1 = &c; printf("改变一级指针本身n"); printf("a=%d,b=%d,c=%d,*p1=%d,*p2=%d,**p1=%dnn",a,b,c,*p1,*p2,**boss1);



