所以我的问题是,如果我有以下代码
main(){
char arr[1][3];
foo(arr);
}
void foo(char arr1[1][3]){
arr1[0] = "AB\0";
}
这是否意味着来自main的arr中的值也会被修改为“AB \ 0”?
答案 0 :(得分:3)
尝试检查此堆栈溢出问题和答案,这是一个古老的问题
答案 1 :(得分:0)
为什么不亲自测试一下?
#include <stdio.h>
void foo(char arr[]);
int main(int argc, char **argv)
{
char arr[5] = "test";
printf("%s\n", arr);
foo(arr);
printf("%s\n", arr);
return 0;
}
void foo(char arr[])
{
arr[0] = 'p';
}