結構體定義容易混淆的地方

2022-08-04 07:57:15 字數 939 閱讀 4192

第一種:

struct student

;

student為結構體名,相當於一種資料型別。可以和int、char等一樣的用法。

a.   這種形式用在c語言中,要宣告該結構體型別的物件,應該寫為struct student  stud1;

b.   這種形式用在c++語言中,要宣告其物件,直接寫student  stud1;

第二種:

typedef struct student

stu;    //stu是一種資料型別

等同於:

typedef struct

stu;  //stu是一種資料型別

stu是名為student的結構體這一資料型別的別名,c/c++中宣告該型別的變數時都為stu stud1;

可以看出,第二種方式在c++語言中並沒有多大意義,兩種方式定義的結構體在宣告物件時並無繁簡區分,但在c中卻是簡化了結構體型別的變數的宣告,不用每次都寫關鍵字struct。

另外區別於第二種方式有如下寫法容易混淆:

struct student

stu1;   //stu1是乙個變數

這種方式在定義結構體的同時宣告了該結構體型別的變數。

LSTM容易混淆的地方

1 如果只是學習怎麼用lstm,那麼可以這麼理解lstm lstm可以看成乙個倉庫,而這個倉庫有三個門衛,他們的功能分別是 但這三個門外怎麼判斷遺忘什麼,輸入什麼和輸出什麼呢?這需要他們通過從歷史的資料中學習,這樣當未來輸入貨物時,就知道如何處理。這就是為什麼lstm能夠從歷史資料中學習並記住知識的...

mysql中容易混淆的地方

mysql的information schema資料庫的tables的data length列的數值的單位為位元組 b mysql資料庫的資料單位都為都是b 位元組 b 位元組 kb 千位元組 mb 兆 gb 千兆 1024 b 1 kb 1024 kb 1 mb 1024 mb 1 gb char...

VC裡一些容易混淆的地方

1.false true與false true的區別 false true是標準c 語言裡新增的要害字,而false true是通過 define,這要用途是解決程式在c與c 中環境的差異,以下是false true在windef.h的定義 ifndef false define false 0 e...