C语言:理解数组指针和指针数组比较好的例子

Code:
  1. #include <stdio.h>  
  2.   
  3. void main()  
  4. {  
  5.     static int m[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};  
  6.     int (*p)[4];  //声明一个数组指针,p是一个指针,指向5个一味数组。  
  7.     int i,j;  
  8.     int *q[3];   //声明一个指针数组,q是一个数组,数组元素是指针。  
  9.     p = m;  
  10.     printf("%d   ",p);  
  11.     printf("%d/n",&m);  
  12.     printf("%d/n",&m[0]);  
  13.     for(i=0;i<3;i++)  
  14.     {  
  15.         for(j=0;j<4;j++)  
  16.         {  
  17.             printf("%3d",*(*(p+i)+j));  
  18.         }  
  19.         printf("/n");  
  20.     }  
  21.   
  22.     for (i=0;i<3;i++)  
  23.         q[i] = m[i];  
  24.   
  25.     printf("现在是%d/n",q[0][0]);  
  26.   
  27.     for (i=0;i<3;i++)  
  28.     {  
  29.         for (j=0;j<4;j++)  
  30.         {  
  31.             printf("%d  ",q[i][j]);  
  32.         }  
  33.         printf("/n");  
  34.     }  
  35.   
  36.   
  37.     printf("/n");  
  38.     q[0]=m[0];  
  39.     for(i=0;i<3;i++)  
  40.     {  
  41.         for(j=0;j<4;j++)  
  42.         {  
  43.             printf("%3d ",*(q[0]+j+4*i));  
  44.         }  
  45.         printf("/n");  
  46.     }  
  47.     printf("/n");  
  48. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值