例子:
void fun(char a[10]){
char c = a[3];
}
int main(void){
char b[100]="abcdef";
fun(b);
return 0;
}
这样运行没有问题!!!!
原因:这里边fun函数的形参是数组char a[10],实际传递的数组大小与函数形参指定的数组大小没有关系,因为这样一条规则:
C语言中,当一维数组作为函数参数的时候,编译器总是把它解析成一个指向首元素首地址的指针。
例子:
void fun(char a[10]){
char c = a[3];
}
int main(void){
char b[100]="abcdef";
fun(b);
return 0;
}
这样运行没有问题!!!!
原因:这里边fun函数的形参是数组char a[10],实际传递的数组大小与函数形参指定的数组大小没有关系,因为这样一条规则:
C语言中,当一维数组作为函数参数的时候,编译器总是把它解析成一个指向首元素首地址的指针。