我正在閱讀有關C++中的數組。我嘗試以下的代碼:int數組的類型是什麼?
int main()
{
int a[10];
int *p;
p = &a;
}
我得到編譯器錯誤:
pointers.cpp:10:6: error: cannot convert ‘int (*)[10]’ to ‘int*’ in assignment
p = &a;
爲了理解該陣列類型,以便能夠分配給指針我嘗試這樣做的代碼:
int main()
{
int a[10];
int *r[10];
r = a;
}
編譯錯誤:
: error: incompatible types in assignment of ‘int [10]’ to ‘int* [10]’
r = a;
然後我嘗試這樣的:
int main()
{
int a[10];
int *r[10];
r = &a;
}
編譯錯誤:
error: incompatible types in assignment of ‘int (*)[10]’ to ‘int* [10]’
r = &a;
什麼類型int (*)[10]
?
@ dandan78問題是關於C++,而不是關於C.數組在兩種語言中工作不完全相同。 – rightfold
只要不嘗試用C++,如果你不知道你在做什麼。你的房子可能會倒塌。 – nbro