取多维数组首地址的方法

来源:互联网 发布:淘宝网站类型有哪些 编辑:程序博客网 时间:2024/05/16 13:57
#include <stdio.h>
#include <cstdlib>
int main(void)
{
// char a[1] = {'1'};
char a[1][1] = {'1'};
/*char a[2][2][3] = {
{
{'1','2','3'},
{'4','5','6'}
},
{
{'7','8','9'},
{'10','11','12'}
}

};*/

  //对一维数组取首地址,有两种方法

// char *pa = a;   //第一种
char *pa = &a[0]; //第二种
// char *pa = &a[0][0]; //取二维数组首地址的方法
// char *pa = &a[0][0][0];//取三维数组首地址的方法

// printf("%c",*(pa));
printf("\n");
system("pause");
return 0;

}


但是对于三维数组如何得到10,11,12呢?用下面的方法得到的只是0,1,2.,


#include <stdio.h>
#include <cstdlib>
int main(void)
{


char a[2][2][3] = {
{
{'1','2','3'},
{'4','5','6'}
},
{
{'7','8','9'},
{'10','11','12'}
}
};
char *pa = &a[0][0][0];
int i = 0;
for(i = 0; i < 12; ++i)
{
printf("%c ",*(pa + i));
}
printf("\n");
system("pause");
return 0;
}

原创粉丝点击