可能重复:
C 中的 char s[] 和 char *s 有什么区别?
char *str = “…” 和 char str[N] = “…” 的区别?
我是 C 编程的初学者。我对这些事情感到困惑:
char ar[]="hello";
char ar2[], *ar3;
ar2=ar;
ar3=ar;
对于 2D 数组,上述内容也是合法的,例如:
int arr[2][2]={{1,2},{3,4}};
int arr1[2][2],**arr2,*arr3;
arr1[0]=arr[0];
arr1=arr;
arr2=arr;
arr3=arr;
另一个困惑是我在上面看到的在结构的情况下是有效的。
struct test{
int ar[2];
} t1, t2;
int main()
{
t1.ar[0]=0;
t1.ar[1]=1;
t2.ar=t1.ar;
}
请多多包涵,我是 C 的初学者。