/*
2014年5月29日10:13:35
关于结构体变量和结构体指针变量函数的值传递
*/#include<stdio.h>
#include<string.h>
struct Stduent
{
int age ;
char sex[100] ; // 这表示顶一个一个结构体
char name[100]; //这个数据的类型是 struct Stduent 类型
};
void InputStduent (struct Stduent * pst) //输入函数
{
pst->age = 18; //给年龄赋值
strcpy(pst->sex,"男");// 给字符创sex赋值
strcpy(pst->name ,"刘荣平"); //给字符串name 赋值
}
void OnputStduent (struct Stduent stu) //输出函数
{
printf("%d %s %s",stu.age,stu.sex,stu.name);
}
int main (void)
{
struct Stduent st; //定义一个struct Stduent 类型变量数据 变量名为 st
InputStduent(&st);//吧st的地址发送给 输入函数的 pst
OnputStduent(st); //把st的值赋值给输出函数的stu
return 0;
}
/*
总结:
要想在子函数中修改主函数的值,就必须把主函数要修改的值的地址发给函数的形参
如果是子函数是输出主函数的值,就不需要发送地址,直接发送值就可以
在VC 6.0 输出的结果是:
--------------------
18 男 刘荣平Press any key to continue
--------------------
*/
C-关于结构体变量和结构体指针变量函数传递值得问题
最新推荐文章于 2021-05-22 01:05:42 发布