10、C语言中指向由M个元素组成的一维数组的指针。
2013-06-06 22:30
274 查看
#include <stdio.h> #include <stdlib.h> int main() { int arr1[4]={32,75,2,10},i=0,j=0; int arr2[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};//相当于3个一维数组组成 int *p1[4];//普通的指针数组。 int (*p2)[4];//指向由4个元素组成的一维数组的"指针变量" []比*优先级别高 //p1=arr1;//警告提示 不兼容的指针类型 arr<<==>> &a[0]; //p1=&arr1;//同样无效 可以使用p1[0]=arr1; p2=arr2;//这一类的指针只能这样赋值,使用如同二维数组名,不过可以自增自减,可左值。相当于&arr[0] 第0行地址 for(i=0;i<3;i++,p2++)//这里使用了p2自动切换到下一行,所以不需要p2+i定位到下一行。 { printf("第%d行的首地址(相当于&arr2[%d]):p=%d\n",i,i,p2); for(j=0;j<4;j++) { //等同*(p2+0)+j printf("元素arr2[%d][%d]的首地址:&arr2[%d][%d]=%d\n",i,j,i,j,*(p2)+j); printf("元素arr2[%d][%d]的值:arr2[%d][%d]=%d\n",i,j,i,j,*(*(p2)+j)); } } return 0; }
程序运行结果:
第0行的首地址(相当于&arr2[0]):p=2686660
元素arr2[0][0]的首地址:&arr2[0][0]=2686660
元素arr2[0][0]的值:arr2[0][0]=1
元素arr2[0][1]的首地址:&arr2[0][1]=2686664
元素arr2[0][1]的值:arr2[0][1]=2
元素arr2[0][2]的首地址:&arr2[0][2]=2686668
元素arr2[0][2]的值:arr2[0][2]=3
元素arr2[0][3]的首地址:&arr2[0][3]=2686672
元素arr2[0][3]的值:arr2[0][3]=4
第1行的首地址(相当于&arr2[1]):p=2686676
元素arr2[1][0]的首地址:&arr2[1][0]=2686676
元素arr2[1][0]的值:arr2[1][0]=5
元素arr2[1][1]的首地址:&arr2[1][1]=2686680
元素arr2[1][1]的值:arr2[1][1]=6
元素arr2[1][2]的首地址:&arr2[1][2]=2686684
元素arr2[1][2]的值:arr2[1][2]=7
元素arr2[1][3]的首地址:&arr2[1][3]=2686688
元素arr2[1][3]的值:arr2[1][3]=8
第2行的首地址(相当于&arr2[2]):p=2686692
元素arr2[2][0]的首地址:&arr2[2][0]=2686692
元素arr2[2][0]的值:arr2[2][0]=9
元素arr2[2][1]的首地址:&arr2[2][1]=2686696
元素arr2[2][1]的值:arr2[2][1]=10
元素arr2[2][2]的首地址:&arr2[2][2]=2686700
元素arr2[2][2]的值:arr2[2][2]=11
元素arr2[2][3]的首地址:&arr2[2][3]=2686704
元素arr2[2][3]的值:arr2[2][3]=12
Process returned 0 (0x0) execution time : 0.287 s
Press any key to continue.
相关文章推荐
- 10、C语言中指向由M个元素组成的一维数组的指针。
- 【C语言】12-指向一维数组元素的指针
- 【C语言】-指向一维数组元素的指针
- 【C语言】12-指向一维数组元素的指针
- 【C语言】12-指向一维数组元素的指针
- 设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有元素个数为?
- 【C语言】12-指向一维数组元素的指针
- C语言-指向一维数组元素的指针
- 指向几个元素组成的一位数组指针的指针变量
- 【C语言】12-指向一维数组元素的指针
- 指向几个元素组成的一位数组指针的指针变量
- 【C语言】12-指向一维数组元素的指针
- c语言-数组名字是指向数组第一个元素的指针
- 【C语言】12-指向一维数组元素的指针
- 【C语言】12-指向一维数组元素的指针
- 【C语言】12-指向一维数组元素的指针
- C语言:浅析指针数组、数组指针、函数指针、函数指针数组、指向函数指针数组的指针
- C语言【指针】一维数组与指针概念
- set不能通过指针元素指向的成员进行排序
- 【c语言】编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),指向字符串开始的空间