有關C語言結構問題

2022-06-09 11:37:46 字數 918 閱讀 6430

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...