如果對結構體變數的使用不太熟悉,可以先看看博主的這篇文章【c語言】結構體變數定義、初始化、使用。
首先宣告結構體型別,注意,若要跨函式使用結構體,結構體型別的宣告必須在函式外部:
struct students
;
然後初始化結構體變數及指向結構體變數的指標:
struct students stu1=,*pstu;
pstu=&stu1;
函式體:
// 1 用結構體變數作函式引數
void printstu(struct students stu)
函式體:
// 2 用結構體變數的成員作函式引數
void printstu2(char name[20],int age)
函式體:
// 3 用指向結構體變數(或結構體陣列)的指標作為引數
void printstu3(struct students *pstu)
完整測試**如下:
#include #include //宣告結構體型別(若要跨函式使用,必須定義在外部)
struct students
;int main()
,*pstu;
pstu=&stu1;
//函式宣告
void printstu(struct students);
void printstu2(char [20],int);
void printstu3(struct students *);
//呼叫
printf("姓名 年齡\n\n");
printstu(stu1);
printstu2(stu1.name,stu1.age);
printstu3(pstu);
return 0;
}//函式定義
// 1 用結構體變數作函式引數
void printstu(struct students stu)
// 2 用結構體變數的成員作函式引數
void printstu2(char name[20],int age)
// 3 用指向結構體變數(或結構體陣列)的指標作為引數
void printstu3(struct students *pstu)
結果:
C語言結構體變數和結構體變數的指標作函式引數例題
將n個學生的資料表示為結構體變數,內含學生學號 姓名和三門課的成績。要求輸出平均成績最高的學生的資訊 包括學號 姓名 3門課成績和平均成績 解題思路 將n個學生的資料表示為結構體陣列 有n個元素 按照功能函式化的思想,分別用3個函式來實現不同的功能 1 用input函式來輸入資料和求各學生的平均成績...
C語言用結構體指標作函式引數
這種方式比用結構體變數作函式引數效率高,因為無需傳遞各個成員的值,只需傳遞乙個位址,且函式中的結構體成員並不佔據新的記憶體單元,而與主調函式中的成員共享儲存單元。這種方式還可通過修改形參所指成員影響實參所對應的成員值。例如struct book main fun book1 printf d cop...
C語言指標變數作函式引數
按如下函式原型用函式程式設計解決如下的日期轉換問題 要求考慮閏年的問題 輸入某一年的第幾天,計算並輸出它是這一年的第幾月第幾日。函式功能 對給定的某一年的第幾天,計算它是這一年的第幾月第幾日 函式入口引數 整型變數year,儲存年 整型變數yearday,儲存這一年的第幾天 函式出口引數 整型指標p...