找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
請尊重及感激所有版主付出和奉獻尊貴會員無限使用任何功能安全提問(回答) 和 永久尊貴會員 事宜
波多野結ntrge中出vr惡靈古堡按摩
画笔不画遠星都市魔法少女stars 70搾雪ふた家族藤井有彩

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁/無修正]魔都精兵

[繁]迷宮飯11-

[繁]肌肉魔法使-MASHL

✡ 斗破蒼穹 年番/鬥

[繁]香格里拉・開拓異

老媽沒收兒子的手機
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 4363|回復: 7

[問題] 關於C語言的 struct (已解決)[複製鏈接]

Rank: 1

帖子
47
積分
41 點
潛水值
13340 米
發表於 2017-1-10 10:58 PM|顯示全部樓層
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
本帖最後由 在那裡 於 2017-1-13 07:53 PM 編輯

struct body {
    int x,y;
    void set(int X, int Y) {x=X; y=Y;} //error
    struct body *next;
};
typedef struct body BODY;

BODY head , body , v = {1,0} , cookie; // v 移動向量
head.next = &body;  //error
body.next = NULL;  // error

int main()
{
    return 0;
...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

inunu 該用戶已被刪除
發表於 2017-1-11 03:04 AM|顯示全部樓層
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。
你用 C 還是 C++ compiler?
C 本身沒有引進物件導向的概念, 不能定義 member function
而你第三行正好定義了 set() 這個 body 的 member function
之後的兩個 error 都是在 function 之外寫程式碼, 應該要寫到 main() 裡頭
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。

使用道具檢舉

Rank: 2Rank: 2

帖子
245
積分
201 點
潛水值
13492 米
發表於 2017-1-11 11:28 AM|顯示全部樓層
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。
在非 function 包含 main(), 之外只能宣告, 或 assign init value (非 member)
所以如 inunu 所講,

head.next = &body;  //error   <-- head.next 已經是在操作 head 的member了
body.next = NULL;  // error

請移到 main() 內

至於 void set(),  c++才支援 method, 所以請把你的附檔名從 .c 改成 cpp
如果是Linux, gcc 自動會 call g++ 來 compile cpp.
...
瀏覽完整內容,請先 註冊登入會員
無欲則剛, 有欲則子孫滿堂. 看來我只比無好一點點!
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。

使用道具檢舉

Rank: 1

帖子
47
積分
41 點
潛水值
13340 米
發表於 2017-1-13 07:52 PM|顯示全部樓層
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。
本帖最後由 在那裡 於 2017-1-18 06:46 PM 編輯

哦哦
原來如此!
移動main狀況就解除了,檔名改成cpp後set的錯誤也消失了,
謝謝!


補充內容 (2017-1-18 06:45 PM):
懂了
不可以在函式或main以外的區域進行運算(除了宣告時)
不過.cpp那方面我是覺得有點奇怪
因為我看過有人用.c的檔名,可裡面卻進行跟我一樣動作
...
瀏覽完整內容,請先 註冊登入會員

點評

scottcheng 問題你懂了嗎?  發表於 2017-1-14 02:07 AM

使用道具檢舉

Rank: 2Rank: 2

帖子
128
積分
726 點
潛水值
9520 米
發表於 2017-6-3 04:42 PM|顯示全部樓層
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。
在那裡 發表於 2017-1-13 07:52 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

哦哦
原來如此!
移動main狀況就解除了,檔名改成cpp後set的錯誤也消失了,

你的struct直能用來declare種類int,char,double等等...
瀏覽完整內容,請先 註冊登入會員





使用道具檢舉

Rank: 4Rank: 4Rank: 4Rank: 4

帖子
7565
積分
4321 點
潛水值
34960 米
發表於 2017-6-4 10:50 AM|顯示全部樓層
本帖最後由 chevylin0802 於 2017-6-4 11:05 AM 編輯

在函式外是可以指定初始值的
在C語言來說這種情形相當常見
尤其是Linux kernel/drivers的程式碼裏可以說是最常見不過的事情

只是指定初始值的方式有它一定的遊戲規則
比如 head.next = &body 這種做法就不允許
對於結構的初始值化是要一個整體的一起進行的

在C裏的說法是結構裏的元素(element)而不能說結構裏的成員(member)
...
瀏覽完整內容,請先 註冊登入會員
系統已重置禁訪用戶到普通用戶和密碼一次
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

CoNsTaRwU 該用戶已被刪除
發表於 2017-6-13 11:55 AM|顯示全部樓層
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。
chevylin0802 發表於 2017-6-4 10:50 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

在函式外是可以指定初始值的
在C語言來說這種情形相當常見
尤其是Linux kernel/drivers的程式碼裏可以說是 ...
這種寫法完全可以使用C來編譯, 不需要把檔名改成.cpp
...
瀏覽完整內容,請先 註冊登入會員

點評

chevylin0802 用C寫就比較低級了嗎?如果你是這種態度, 作主管的肯定讓你回家吃自己  發表於 2017-6-13 12:07 PM
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

帖子
111
積分
0 點
潛水值
24790 米
發表於 2017-8-2 11:35 PM|顯示全部樓層
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
之後你可以檢查你的編譯環境 有時候只是哪邊沒設定好
要不然你可以試試網路上的c++ shell 可以線上編譯 如果可以執行 代表只是你的環境出問題

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部