我得到warning: assignment from incompatible pointer type [enabled by default]
當我編譯下面的代碼:指向數組的指針給兼容的指針類型的警告
int main() {
int (*aptr) [5] = NULL;
int arr[5] = {1,2,3,4,5};
aptr = &arr[0];
printf("aptr = %p\n arr = %p\n", aptr, &arr[0]);
return 0;
}
我得到正確的輸出:
aptr = 0xbfcc2c64
arr = 0xbfcc2c64
但是我爲什麼得到不兼容指針類型的警告?
[爲什麼指向數組的指針需要在作爲參數傳遞給具有數組類型參數的函數之前進行轉換?](http://stackoverflow.com/questions/17438175/why-does-a-指針到數組 - 需要被投 - 之前 - 被傳遞 - 作爲參數 - ) –