1. 程式人生 > 其它 >C語言 | 指向結構體變數的指標變數

C語言 | 指向結構體變數的指標變數

技術標籤:C語言案例原始碼c語言指標

例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{ //學生結構體 int num; 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.116 seconds with return value 0 請按任意鍵繼續. . .

思考兩個問題,怎麼對結構體變數成員賦值?怎麼通過指向結構體變數的指標訪問結構體變數中成員?

C語言指向結構體變數的指標變數
更多案例可以go公眾號:C語言入門到精通