1. 程式人生 > 實用技巧 >通過函式完成對結構體變數的輸入輸出

通過函式完成對結構體變數的輸入輸出

/*
//2020年11月19日17:24:42
#include<stdio.h>
#include<string.h>
void InputStudent(struct Student);
struct Student
{
    int age;
    char sex;
    char name[100];
};
int main(void)
{
    struct Student st;
    InputStudent(st);
    printf("%d %c %s",st.age,st.sex,st.name);
    return 0;
}
void InputStudent(struct Student stu)
{
    stu.age=10;
    strcpy(stu.name,"zhangsan");
    stu.sex='F';
}
*/ /* #include<stdio.h> #include<string.h> void InputStudent(struct Student *); struct Student { int age; char sex; char name[100]; }; int main(void) { struct Student st; InputStudent(&st); printf("%d %c %s",st.age,st.sex,st.name); return 0; } void InputStudent(struct Student * pstu) { pstu->age=10; strcpy(pstu->name,"zhangsan"); pstu->sex='F'; }
*/ /* #include<stdio.h> #include<string.h> //通過函式完成結構體變數的輸入和輸出 //2020年11月19日17:34:42 void InputStudent(struct Student *); void OutputStudent(struct Student ); struct Student { int age; char sex; char name[100]; }; int main(void) { struct Student st; InputStudent(&st);//對結構體變數輸入,要設計修改,必須傳送st的地址 //printf("%d %c %s",st.age,st.sex,st.name); OutputStudent(st);//對結構體變數輸出,可以傳送st的地址也可以傳送st,因為不涉及修改 return 0; } void InputStudent(struct Student * pstu) { pstu->age=10; strcpy(pstu->name,"zhangsan"); pstu->sex='F'; } void OutputStudent(struct Student ss) { printf("%d %c %s",ss.age,ss.sex,ss.name); }
*/ #include<stdio.h> #include<string.h> //通過函式完成結構體變數的輸入和輸出 //2020年11月19日17:41:45 void InputStudent(struct Student *); void OutputStudent(struct Student *); struct Student { int age; char sex; char name[100]; }; int main(void) { struct Student st; InputStudent(&st);//對結構體變數輸入,要設計修改,必須傳送st的地址 //printf("%d %c %s",st.age,st.sex,st.name); printf("%d\n",sizeof(st)); OutputStudent(&st);//對結構體變數輸出,可以傳送st的地址也可以傳送st,因為不涉及修改 //但為了減少記憶體佔用,也為了提高執行速度,推薦傳送地址 return 0; } void InputStudent(struct Student * pstu) { pstu->age=10; strcpy(pstu->name,"zhangsan"); pstu->sex='F'; } void OutputStudent(struct Student * ss) { printf("%d %c %s",ss->age,ss->sex,ss->name); }