2012-12-04 70 views

回答

3
int m[10][20]; 
int (*pm)[20] = m; // [10] disappears, but [20] remains 

int t[10][20][30]; 
int (*pt)[20][30] = m; // [10] disappears, but [20][30] remain 

這不是一個 「演員」,雖然。 Cast是一種明確的類型轉換。在上面的例子中,轉換是隱含的。

未也指針類型仍然依賴於除了非常第一個所有陣列的尺寸。這是不可能具有完全「無量綱」指針類型,將在這種情況下工作,即,一個int **指針不會與一個內置的2D陣列工作。帶有內置3D陣列的int ***指針也不會。

0

是ofcourse,您可以指向多維數組。

int m[10][10]; 
int (*pm)[10] = m; 
-1

如何:

int k[100]; 
int* pk = k; 
int m[10][10]; 
int **ptr = (int **) malloc(10 * sizeof(int*)); 
for(int i=0;i<10;i++) 
{ 
    ptr[i] = m[i]; 
}