C语言有关指针的运用,求大神指点
发布网友
发布时间:2022-08-01 12:01
我来回答
共3个回答
热心网友
时间:2024-11-25 03:06
一步一步来看:
1、int a[2][3]={1,2,3,4,5,6}; 定义二维数组;
2、int *p1[2]={a[0],a[1]},定义指针数组p1,它有两个元素,分别是a[0][0]和a[1][0]的地址;
3、int **p2=p1; 定义一个二级指针,并赋值p1的首元素地址,也就是a[0]的地址;
4、p2++; p2增加1,也就是指向p1的第二个元素的地址,即指向a[1]的地址;
5、(*p2)++; *p2自增1,*p2是对p2求值,是a[1][0]的地址,增加1后是指向a[1][1]的地址;
6、(**p2)++; **p2是对*p2指向的地址求值,即a[1][1]的值,是为5,再自增1后是6;7、printf("%d\n",**p2);打印**p2的值,为6。
完毕。
热心网友
时间:2024-11-25 03:07
第一行 1 2 3
第二行 4 5 6
二级指针 **p2=p1; p2指向 指针数组p1[2]的首元素 ,即a[0]。
*p2指向a[0][0]的地址 a数组中1的地址
p2++; p2指向了a[1] , a[1]表示二维数组a[1][0]的地址,
此时*p2指向a[1][0]的地址 ,a数组中4的地址
(*p2)++; *p2指向a[1][1]的地址 , a数组中5的地址
(**p2)++; 5++; (**p2)==6;
热心网友
时间:2024-11-25 03:07
语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。 尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。 二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
中文名
C语言
外文名
The C Programming Language
类别
计算机通用程序设计语言
创始人
Dennis MacAlistair Ritchie
创始时间
1972年
发源
BCPL语言
主要编译器
Clang、GCC、MSVC、Turbo C等
启发语言
B语言、汇编、ALGOL68
操作系统
多平台