当前位置: 首页 > 编程笔记 >

C语言中二级指针的实例详解

翟高明
2023-03-14
本文向大家介绍C语言中二级指针的实例详解,包括了C语言中二级指针的实例详解的使用技巧和注意事项,需要的朋友参考一下

C语言中二级指针的实例详解

用图说明

示例代码:

#include <stdio.h>

int main(int argc, const char * argv[])
{

  //
  int a = 5;
  int *p1 = &a;
  //-打印地址-----地址相同---------------
  printf("&a = %p\n", &a);//
  printf("p1 = %p\n", p1);//

  int **p2 = &p1;

  //-打印地址---地址相同---------------
  printf("&p1 = %p\n", &p1);//
  printf("p2 = %p\n", p2);//

  //-打印值---------------------
  printf("a = %d\n", a); // = 5;
  printf("*p1 = %d\n", *p1); // = 5;
  printf("**p2 = %d\n", **p2); // = 5;


  printf("\n");
  return 0;
}

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 类似资料:
  • 本文向大家介绍C语言 二级指针详解及示例代码,包括了C语言 二级指针详解及示例代码的使用技巧和注意事项,需要的朋友参考一下 指针可以指向一份普通类型的数据,例如 int、double、char 等,也可以指向一份指针类型的数据,例如 int *、double *、char * 等。 如果一个指针指向的是另外一个指针,我们就称它为二级指针,或者指向指针的指针。 假设有一个 int 类型的变量 a,p

  • 本文向大家介绍C语言中的指针以及二级指针代码详解,包括了C语言中的指针以及二级指针代码详解的使用技巧和注意事项,需要的朋友参考一下 很多初学者都对C中的指针很迷糊,希望这篇blog能帮助到大家: 1.什么是“指针”: 在执行C程序的时候,由于我们的数据是存储在内存中的。所以对于C程序本身来说,如果想找到相应被调用的数据,就要知道存储该数据的内存地址是多少,换言之,C程序通过已知的内存地址到相应的内

  • 多级指针举例 可能很多同学都执行过这个命令,ping www.baidu.com或者是ping www.qq.com,ping是一个命令,后面的网址就是它的传入参数。不同的参数会导致不同的运行结果。 下面就是我们main函数的标准写法,argc就是传入参数的个数,argv是一个字符串类型的二维指针。当我们需要传递下面四个字符串给main函数的时候,这四个是字符串的首地址不是连续的,我们就可以使用二

  • 多级指针概述 我们将指针变量理解为一个存储地址的变量。如果这个地址里面存储的依然是地址,那么我们就可以定义一个二维指针。通过一个二维指针,我们通过两次寻址操作就可以找到这个值。 比如我们定义一个int **p;这是一个二维指针,当编译器看到p的时候,它知道这是一个指针变量,指向一个地址;当它看到第二个的时候,它知道指向的地址里面依然还是地址。如下图所示: 如果我们将p[0]和p[1]分别指向两个字

  • 我们已经在内存中看到了int类型的存储方式,如果我们存储的是0x12,就会在内存中得到二进制的编码0001 0010。如果我们存储一个float类型的1.2,又在内存中又有怎样的存储方式呐?下面我们使用两种方法来读取存储在内存中的float变量。 用int类型的指针来读取同样大小的四个字节 测试代码如下 我们可以看到由于不同的指针类型赋值,依然有一个警告。 运行结果如下 这就是浮点数1.2在内存中

  • 本文向大家介绍C语言 指针与二维数组详解,包括了C语言 指针与二维数组详解的使用技巧和注意事项,需要的朋友参考一下 二维数组在概念上是二维的,有行和列,但在内存中所有的数组元素都是连续排列的,它们之间没有“缝隙”。以下面的二维数组 a 为例: int a[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11} }; 从概念上理解,a 的分布像一个矩