使用指针输出二维数组的任意元素
#include
#includevoid main()
{
int num[3][4] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
//不可使用
//int **p = num;
//printf("%d\n", **p);
printf("%d\n", sizeof(*num));
//num是一个行指针(指向一个一维数组),*num即根据地址取出值,为一个一维数组
//在此*num代表一个数组,而不是一个地址,所以大小为4 * 4 = 16 个字节
int(*p)[4] = num;
printf("%d\n", p[0][0] + 1);
int i, j;
scanf_s("%d%d", &i, &j);
printf("%d,%d,%d\n", num[i][j], *(num[i] + j), *(*(num + i) + j));
system("pause");
}
推荐阅读
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- iOS中的Block
- Linux下面如何查看tomcat已经使用多少线程
- 《深度倾听》第5天──「RIA学习力」便签输出第16期
- 使用composer自动加载类文件
- android|android studio中ndk的使用