的阵列为什么我得到一个警告当我这样做:指定数组名的指针的字符
char (*arr_ptr)[];
char str[] = "string";
arr_ptr = str;
的警告是:
assignment from incompatible pointer type
但是,当我的任务更改为:
arr_ptr = &str;
警告消失。我认为str
,&str
和&str[0]
都是一样的。那么str
或&str[0]
将如何不兼容?
我想我的代码是由GCC编译的,因为我在TextMate上运行它。
[这个问题](http://stackoverflow.com/questions/1335786/c-differences-between-pointer-and-array)可能可以帮助你。 – netcoder 2011-12-20 07:10:25
[为什么我不能直接将数组指向C中的指针](http://stackoverflow.com/questions/3504506/why-cant-i-assign-an-array-to-pointer-directly -in-c) – 2011-12-20 07:54:45
阅读[comp.lang.c FAQ](http://c-faq.com)的第6部分。 – 2011-12-20 10:10:18