C語言 | 通過指向結構體變數的指標變數輸出結構體變數中的資訊
阿新 • • 發佈:2020-12-22
例40:C語言實現通過指向結構體變數的指標變數變數輸出結構體變數中的資訊。
解題思路:在主函式中聲明瞭struct student型別,然後定義了一個struct student型別的變數s_1,又定義了一個指標變數p,它指向一個struct student型別的物件,將結構體變數s_1的起始地址賦給指標變數p,也就是使p指向s_1,然後對s_1的各個成員賦值。
原始碼演示:
#include<stdio.h>//標頭檔案 #include<string.h>//為了引用strcpy函式 int main(){//主函式 struct student{ //學生結構體 intnum; char name[20]; char sex; float score; }; struct student s_1;//定義結構體變數 struct student *p;//定義結構體指標變數 p=&s_1;//將s_1得地址賦給指標變數 s_1.num=10010;//賦值 strcpy(s_1.name,"yan");//複製 s_1.sex='M';//賦值 s_1.score=100;//賦值 printf("學號是:%d\n名字是%s\n性別是:%c\n成績是:%f\n", s_1.num,s_1.name,s_1.sex,s_1.score);//輸出結果 printf("--------------------\n"); //隔開 printf("學號是:%d\n名字是%s\n性別是:%c\n成績是:%f\n", (*p).num,(*p).name,(*p).sex,(*p).score); //輸出結果 return 0;//主函式返回值為0 }
編譯執行結果如下:
學號是:10010 名字是yan 性別是:M 成績是:100.000000 -------------------- 學號是:10010 名字是yan 性別是:M 成績是:100.000000 -------------------------------- Process exited after 1.116seconds with return value 0 請按任意鍵繼續. . .
思考兩個問題,怎麼對結構體變數成員賦值?怎麼通過指向結構體變數的指標訪問結構體變數中成員?