强化C数组作为函数参数-多维数组的本质
#include <stdio.h> #include <stdlib.h> #include <string.h> //多维数组的本质就是一个指针数组,由于多维数组高于3级的基本上没有多大的意义 //如果非要做3级以上的话,就是对二级的数据进行修改 int printf_array01(char (*array)[30],int len) { for (int i = 0; i < len; i++) { printf("s = %s ", array[i]); } return 0; } void printf03(int *pArray,int len) { for (int i = 0; i < len; i++) { printf("数字 = %d ", pArray[i]); } } void printf04(int (*array)[4],int len) { for (int i = 0; i < len; i++) { printf("数字1 = %d ", (*array)[i]);//打印全部 } //打印行 for (int i = 0; i < 3; i++) { printf("数字2 = %d ", *array[i]);//打印首元素 } //打印首元素的地址 for (int i = 0; i < 3; i++) { printf("地址一 = %x ", array[i]);//打印首元素地址 printf("地址二 = %x ", &array[i]);//打印首元素地址 } } int main() { char a[10][30] = { "sanzhixiong", "iloveyou","haha"}; printf_array01(a, 3); int b[3][4] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; printf03(b,12); printf04(b, 12); system("pause"); return 0; }通过以上的例子,大家可以看到就是一个二维数组本质就是等价于类型 (*)[个数的长度] 这里的个数的长度就是列的长度这么理解就可以,希望对大家有帮助,我不是一个特别会写作的程序,只是把总结出来的东西以代码的形式加上注视让他看起来更简单,由于本人的水平有限,有问题的话大家给我留言一起讨论。
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了