我有以下代码片段:
char board[3][3] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'}
};
printf("address of board : %p\n", &board);
printf("address of board[0] : %p\n", &board[0]);
这两个printf()
语句都打印同一个值:0x0013ff67
据我所知,数组名(即)board代表第一个子数组的地址(即)
board[0]
board [0]
表示第一个数组中第一个元素的地址(即)board [0] [0]
为什么我的所有printf()
语句都得到相同的地址? 我希望两个语句得到不同的地址。
我对此还很陌生,不理解这种行为。 请给我一些启示。