1樓:匿名使用者
當然不行,編譯器在編譯程式時,必須確切知道所有資料型別的大小,如果你不加指標的話,這個結構就成了一個矛盾體了,因為出現了這樣的情況,即
sizeof(student)=80+sizeof(student),這是不可能成立的.
加了指標的話,因為在一個系統中,指標的大小是固定的,一般是32位,即4位元組,student的大小就能確定了.
2樓:匿名使用者
我不是很清楚你想定義什麼struct student next;
但是我想應該是指標 改為 struct student *next;就ok了
而且結構體定義之後要有";"的
如果不是指標的話 不用這種定義形式
比如你想定義一個整形變數 就直接這樣寫就可以了struct student
; 而struct student *next;是定義一個student型別的指標
3樓:匿名使用者
應該是:
struct student;
4樓:匿名使用者
首先在花括號那裡就少了個分號。。這個事結構體必須得
還有就是struct student next;是指標才對,不然會造成執行錯誤,,,
5樓:圀囦囯
struct student
1。}後面需要分號
2。struct student next;因為這個時候struct student的大小不能確定,是個無線迴圈的結構
改成struct student *next;這裡next是指標,大小是確定的,不會造成無線迴圈
6樓:匿名使用者
1. 最後加分好
2. struct student* next;
有關C語言的問題急,C語言報錯的問題?
首先解釋你的5個0的問題。五個零是printf語句出來的。f格式,預設輸出小數點後6位數字,跟你資料型別沒有任何關係,這個很簡單吧。如果想讓他輸出小數點後一個0,那就是 1f,想輸出3個0,就是 3f 這個明白了吧,很簡單。printf控制格式的問題。跟你float還是double還是int沒關 第...
c語言有關sizeof的問題,c語言關於sizeof的問題
a 和 0 都是字元型,一個字元型一個位元組,sizeof是算佔多少記憶體,a 0 是轉化為int進行處理的,計算後是一個int型。int是整形,有的編譯器佔2個位元組,有的佔4個。所以是2,1 因為 a 和 0 都表示的是字元,而字元型常量佔據的記憶體空間為1位元組,即sizeof a 1,siz...
c語言問題,C語言問題C語言問題
沒有縮排,看來比較累 但是輸入一串字元以後要輸入結束標誌eof表示你的輸入結束了 如果你是unix,就用ctrl d,dos就用ctrl z include define maxline 1000 maximum input line length int getline char line,int...