結(jié)構(gòu)體成員的基本類型?
在C語言中,結(jié)構(gòu)體(struct)指的是一種數(shù)據(jù)結(jié)構(gòu),是C語言中聚合數(shù)據(jù)類型(aggregate data type)的一類。結(jié)構(gòu)體可以被聲明為變量、指針或數(shù)組等,用以實現(xiàn)較復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。結(jié)構(gòu)體同時也是一些元素的集合,這些元素稱為結(jié)構(gòu)體的成員(member),且這些成員可以為不同的類型,成員一般用名字訪問。 在C語言中,定義一個結(jié)構(gòu)的一般形式為: struct結(jié)構(gòu)名 { //成員表列 }; 成員表由若干個成員組成, 每個成員都是該結(jié)構(gòu)的一個組成部分。對每個成員也必須作類型說明,其形式為:“類型說明符 成員名;”。成員名的命名應(yīng)符合標識符的書寫規(guī)定。例如: struct stu { int num; char name[20]; char sex; float score; }; 在這個結(jié)構(gòu)定義中,結(jié)構(gòu)名為stu,該結(jié)構(gòu)由4個成員組成。 第一個成員為num,整型變量;第二個成員為name,字符型數(shù)組;第三個成員為sex,字符型變量;第四個成員為score,浮點型變量。 應(yīng)注意在括號后的分號是必不可少的。 然后,當結(jié)構(gòu)定義完成后,即創(chuàng)建了一種數(shù)據(jù)類型,可以像int、float等內(nèi)置類型一樣使用,以上面定義的stu結(jié)構(gòu)體來和int類型對比著看。 int a;//定義一個int類型的變量a stu a; //定義一個stu類型的變量a int *p; //定義一個int類型的指針p stu *p; //定義一個stu類型的指針p int a[10];//定義一個int類型的數(shù)組a,它有10個元素,每個元素是int類型 stu a[10];//定義一個stu類型的數(shù)組a,它有10個元素,每個元素是stu類型。