指針的指針與二維數組

今天編寫程序時,傳遞參數是一個二維數組碰到了一個問題:

不能將參數 1 從“int [4][4]”轉換爲“int **”

	int a[4][4]={{1,2,3,4},
				{5,6,7,8},
				{9,10,11,12},
				{13,14,15,16}};
	PrintfMatrix(a,4,4);
	void PrintfMatrix(int **numbers,int columns, int rows);

查找資料發現了一些問題:

數組的數組會被改寫成“數組的指針”,而不是“指針的指針”:

 

實參                                  所匹配的形參

數組的數組        char c[8][10];      char (*)[10];    數組指針

指針數組          char *c[10];        char **c;        指針的指針

數組指針(行指針)  char (*c)[10];      char (*c)[10];    不改變

指針的指針        char **c;           char **c;         不改變


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章