企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
指向指针的指针是一种多级间接寻址的形式,或者说是一个指针链;有两个概念需要区分,一个是指针变量本身,一个是指针变量指向(存储)的地址。比如: ``` int a = 100; int *pa = &a; ``` * 1.定义一个整型(int)变量a,值是100。 * 2.定义一个整型指针(int \*)变量pa,值是a的地址。 ### pa是一个整型指针变量,指向的地址是整型变量a的地址,而\*pa是地址里面的内容,也就是变量a的值100。 由此看一个程序: ![](https://img.kancloud.cn/b1/87/b187b3c3050cc9a359adc768843da6d2_630x540.png =600x) ### * char \*类型指针p1,指向常量区内容为"1234567890"的地址; * char \*\*指向指针的指针p2,指向p1地址,因此\*p2就是p1,依次类推 ### 定义char \*\*\*p3存放p2地址,*p3就是p2,\*\*p3相当于*p2也就是p1; 定义char \*\*\*\*p4存放p3地址,*p4就是p3,\*\*p4相当于*p3也就是p2, ***p4相当于**p3也就是*p2即p1。 ### 上述程序中printf的输出应该都是一样的,编译测试: ![](https://img.kancloud.cn/9b/e0/9be0dffb17973c9e4eb9f0631fc6b5ae_832x278.png =600x)