[英]subscripted value is neither array nor pointer
我正在編寫一個C程序,其中正在使用IPC管道數組。我收到錯誤消息“下標值既不是數組也不是指針”。有人可以告訴我我在哪里出錯了嗎?
這是我得到錯誤的代碼:
int p[100][2];
//in for loop
pipe(p[i-1]);
//in child process
close(p[i-1][0]);
write(p[i-1][1], out, sizeof(NODE));
//in parent process
close(p[j][1]);
ead(p[j][0], tmp, sizeof(NODE));
專家提示:解決C語言中的構建錯誤時,請不要在列表中選擇任何隨機錯誤並嘗試對其進行修復。 從產生的第一個錯誤開始,因為這很可能是隨之而來的許多其他錯誤的根本原因。
您必須在代碼的其他地方出現語法錯誤,該語法錯誤會拋棄int p[100][2]
的聲明,以便標識符p
不能正確地解析為在堆棧上分配的int
類型的二維數組(或靜態分配為全局變量...您沒有提到它的聲明位置。) 由於未正確解析標識符,因此它還會引發代碼中其他所有p
使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.