标签: c arrays
像这样的简单代码,
int arr[3][3] = {1, 2, 3, 4}; printf("%d\n", *(arr));
我认为输出将是table的第一个值,1,但是gcc会返回一个垃圾值。
有人可以解释多维表和简单表之间的区别吗?
答案 0 :(得分:2)
你得到了数组第一行的地址,它也是整个数组的第一个元素的地址。
*(arr)等于arr[0]
*(arr)
arr[0]
因此,您正在尝试打印地址,并应使用%p printf说明符。