#include<stdio.h>voidtest(int(*p)[5],int r,int c){int i=0;int j=0;for(i=0;i<r;i++){for(j=0;j<c;j++){printf("%d ",*(*(p+i)+j));//等价于p[i][j]}printf("\n");}}intmain(){int arr[3][5]={{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7}};test(arr,...
在C语言的“侄子”——Perl语言中,用“@”来声明一个数组: @a=(value_alpha..value_omega); 而在C语言中,即没有array关键字,也没有用来声明数组的@符号,甚至C语言本身都不会对数组元素的下标是否越界做出令程序员知晓正误的判断 —— 这一切,不得不让我狗胆包天地,下了这个狂妄的断言:“在C语言中,压根...
typedef int* Ptr2Char; Ptr2Char a[n]; 改写成: typedef int* Ptr2Char[n]; Ptr2Char a; 上下两段代码,是完全等效的!! 请看, 在 typedef 语句中,“Ptr2Char”这个符号被夹在了星号 与方括号当中,但是这个符号的意义完全没有失真。 这就是 C 语言的声明规则以及 typedef 的用法,所体现出的它的 ...