结构体变量和结构体指针变量作为函数参数传递问题

 字符串赋值:strcpy_s(pstu->name, "张三");

需要引入头文件:#include <string.h>

#include <stdio.h>
#include <string.h>

struct Student {
	int age;
	char sex;
	char name[100];
};

void InputStudent(struct Student * pstu) {   //pstu只占四个字节
	(*pstu).age = 10;
	strcpy_s(pstu->name, "张三");
	pstu->sex = 'F';
}
void OutStudent(struct Student ss) {
	printf("%d  %c  %s", ss.age, ss.sex, ss.name);
}

int main(void) {
	struct Student st;
	InputStudent(&st);
	printf("%d  %c  %s\n",st.age,st.sex,st.name);
	OutStudent(st);
	while (true){}
}

 

代码分析;

void OutStudent(struct Student ss) {
	printf("%d  %c  %s", ss.age, ss.sex, ss.name);
}

此处传递的是一个变量,此变量占的字节空间大,我们可以利用指针,指针只占四个字节空间,而且只

  • 15
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值