我有int
秒的數組,表示爲int* myInts[100];
如何打印的int數組的索引
當我嘗試打印0 日指數像這樣,
printf("%d\n",myInts[0]);
我得到以下編譯器警告:
警告:格式 '%d' 期望類型 'INT' 的參數,但參數2 的類型是「* INT [-Wformat =]
這是爲什麼?
我有int
秒的數組,表示爲int* myInts[100];
如何打印的int數組的索引
當我嘗試打印0 日指數像這樣,
printf("%d\n",myInts[0]);
我得到以下編譯器警告:
警告:格式 '%d' 期望類型 'INT' 的參數,但參數2 的類型是「* INT [-Wformat =]
這是爲什麼?
如果你想要一個int
陣列,其聲明爲
int myInts[100];
如果你想的int *
陣列,打印作爲
printf("%p\n", (void *)myInts[0]);
int* myInts[100];
聲明一百指針數組整數,而不是你描述的一百個整數。
您需要使用:
int myInts[100];
代替。
int* myInts[100];
它表示100個整數指針的數組。 int myInts[100];
它表示100個整數的數組。
消除警告不喜歡 printf("%p\n", (void *)myInts[0]);
您應該刪除第二個聲明中的'*'以匹配文本。 – mch 2014-09-22 06:21:15
爲什麼不與*? – Apollo 2014-09-22 04:47:57
因爲*使它成爲一個指針數組。 – 2014-09-22 04:49:13
「int *」表示指向int的指針,而「[100]」表示大小爲100的數組。總的來說,包含int指針的大小爲100的數組。 – 2014-09-22 04:49:22