|
#include<stdio.h>
//結(jié)構(gòu)體:把一些基本類型數(shù)據(jù)組合在一起形成的一個(gè)新的復(fù)合數(shù)據(jù)類型叫做結(jié)構(gòu)體
//為什么需要結(jié)構(gòu)體:為了表示一些復(fù)雜的事物,而普通的基本類型不可以滿足
//第一種定義方式
struct Student //定義一個(gè)結(jié)構(gòu)體,類型定義,不是定義變量
{
int age; //內(nèi)部為各結(jié)構(gòu)體所包含的內(nèi)容
float score;
char sex;
}; //分號(hào)不可以少
//第二種定義方式 不太好,只管用一次
struct Student
{
int age;
float score;
char sex;
}st; //定義好了變量名
//第三種方式
struct
{
int age;
float score;
char sex;
}st3;
int main (void)
{
struct Student st = {80, 66.6 'f'};//結(jié)構(gòu)體變量//結(jié)構(gòu)體賦值; //對(duì)變量進(jìn)行類型選擇,是結(jié)構(gòu)體類型,st是結(jié)構(gòu)體變量的名字
struct Student st1;
// st = {80, 66.6 'f'};這樣寫錯(cuò)誤的
//輸出形式:結(jié)構(gòu)體變量名.成員名 先編譯下寫名字.自動(dòng)彈出課選擇的成員名
st1.age = 10;
st1.score = 12; //定義過后的只可以單個(gè)賦值 ‘ .’表示到結(jié)構(gòu)體某一位下一位進(jìn)行賦值
//指針提前方法
struct Student * ps = &st; //不可以不寫&,因?yàn)橹羔樣玫亩际堑刂?br />
ps->age = 99; //計(jì)算機(jī)內(nèi)部轉(zhuǎn)換為(*ps).age
printf printf ("%d %lf %c",st.age, st.score, st.srx);
("%d %lf %c",st.age, st.score, st.srx);
return 0;
} |
|