C和C 中使用結構體的一點區別

2021-05-24 10:39:11 字數 665 閱讀 2883

從學校畢業以後,開發東西幾乎全部是c++,今天在linux用c程式設計,發現關於結構體在定義和使用的上的一點區別。至於結構體在c++有類的特性,這裡不做贅述,感興趣的朋友可以自己檢視c++ primer的相關章節。

以前在c++中定義和使用結構體如下:

// definition

typedef struct student_t

int num;

char name[128];

}student, *pstudent;

//or

struct student_t

int num;

char name[128];

// usage

student st;

student_t st;

上面**中使用student或者student_t直接定義變數,都沒有問題。

如果把上述**搬到純c環境(用c編譯器,如gcc),student st是沒有問題的, 但是student_t st;則編譯出錯。c語言要求前面必須加struct關鍵字。也就是 struct student_t st;

上述問題與作業系統環境沒有關係,只與編譯器相關,將上述編譯出錯的**用g++編譯就沒有問題。

出處:http://www.linuxidc.com/linux/2010-08/28162.htm

c和c 的一點區別

1 c和c 的標頭檔案不同 c的標頭檔案 include c 的標頭檔案 include 2 輸入輸出不同 輸入 int i 10 c scanf d i 需要注意輸入的變數型別 c cin i 不需要注意變數型別 輸出 c printf d n i 需要注意輸出的變數型別 c cout 3 變數的...

C和C 的一點小區別

編譯時不能確定的值不要放在全域性局域初始初始化,否則c編譯器會報警告或者錯誤 報錯情況 include includeint add int a int b const int c add 1,2 編譯時不能確定值 int main 以上編譯時候會報錯 root localhost samba sh...

div和span的一點區別

div和span元素主要用於應用樣式表 css 兩者明顯的區別在於div是塊元素,是以另起一行開始渲染的元素,可以包含段落 標題 章節 摘要和備註等,而span是行內元素 也稱內嵌元素 行內元素不需另起一行,它沒有結構的意義,純粹是應用樣式,當其他行內元素都不合適時,可以使用span.在 html ...