C語言中的結構體指標

2021-06-27 11:50:32 字數 2178 閱讀 2961

struct birthday;

//宣告結構體型別

//typedef:定義新型別,為型別取別名

//typedef 原有型別,新型別

typedef struct student student;

void printstudent(struct student student);

void printstudents(struct student *student,int length );

void sorestudents(student *student,int length);

void exchangeage(student *student,student *anotherstudent);

int main(int argc,const char * argv),},

,},,},

,},,}};

student *student=&students[0];

student *anotherstudent=&student[1];

printstudent(*student);

printstudent(*anotherstudent);

printf("年齡改變了!!!\n");

exchangeage(student, anotherstudent);

printstudent(*student);

printstudent(*anotherstudent);

return 0;

}//列印出單個學生的資訊

void printstudent(struct student student) birthday = %d.%d.%d\n",

&student,

student.name,

student.age,

student.code,

student.score[0],

student.score[1],

student.score[2],

student.birthday.year,

student.birthday.month,

student.birthday.day);

//符號寫錯毀一生啊,裡面逗號打成分號了啊。。。

}//列印出所有學生的資訊

void printstudents(struct student *student,int length )

for (int i = 0; i < length; i++)

}//陣列的排序(根據學生的年齡)

void sorestudents(student *student,int length)

for (int i =0; i < length; i++) }}

}void exchangeage(student *student,student *anotherstudent)

//第一種方法

// int temp = student -> age;

// student -> age=anotherstudent -> age;

// anotherstudent -> age = temp;

//第二種方法

int temp = (*student).age;

(*student).age = (*anotherstudent).age;

(*anotherstudent).age = temp;

}

輸出結果:

name =student1 age =21 code = 1 score = birthday = 1993.10.3

name =student2 age =20 code = 2 score = birthday = 1993.10.3

年齡改變了!!!

name =student1 age =20 code = 1 score = birthday = 1993.10.3

name =student2 age =21 code = 2 score = birthday = 1993.10.3

program ended with exit code: 0

C語言中 指標與結構體

就像陣列一樣,指向結構體的指標儲存了結構體第乙個元素的記憶體位址。與陣列指標一樣,結構體的指標必須宣告和結構體型別保持一致,或者宣告為void型別。12 3456 78910 1112 13structperson structperson first structperson ptr first....

C語言中結構體

struct oursvoid main struct ours o2 01 結構體整體直接賦值的時候,即使字串也可以直接賦值 o1.str o2.str 錯誤,字串不能直接賦值 字串拷貝的方式 sprintf o1.str,02.str strcpy o1.str,o2.str 3.1 第一種情況...

C語言中的結構體

在 c語言中,結構體 struct 指的是一種資料結構,是c語言中聚合資料型別 aggregate data type 的一類。結構體可以被宣告為 變數 指標或 陣列等,用以實現較複雜的 資料結構。結構體同時也是一些元素的集合,這些元素稱為結構體的成員 member 且這些成員可以為不同的型別,成員...