提示信息

C语言二级指针(指向指针的指针)

初见 已关注

C语言中的二级指针是指向指针的指针。可以将其理解为一个指向指针的指针变量。

二级指针的声明格式如下:

  1. 数据类型 **指针变量名;

使用二级指针可以实现对指针的间接操作,通过二级指针可以修改一级指针所指向的内存地址,进而改变一级指针所指向的变量的值。

举个例子:

  1. #include <stdio.h>
  2. int main() {
  3. int num = 10;
  4. int *ptr1 = &num; // 一级指针,指向num
  5. int **ptr2 = &ptr1; // 二级指针,指向ptr1
  6. printf("num的值:%d\n", num);
  7. printf("ptr1的值:%p\n", (void *)ptr1);
  8. printf("ptr2的值:%p\n", (void *)ptr2);
  9. **ptr2 = 20; // 修改num的值
  10. printf("修改后的num的值:%d\n", num);
  11. return 0;
  12. }

输出结果:

  1. num的值:10
  2. ptr1的值:0x7ffee660a82c
  3. ptr2的值:0x7ffee660a830
  4. 修改后的num的值:20

通过二级指针可以间接修改一级指针所指向的变量,这在某些情况下非常有用,比如在函数中通过二级指针将一个指针参数传递给另一个函数,从而修改指针所指向的变量。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
初见 关注 已关注

最近一次登录:2023-10-09 16:30:40   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图