C语言结构体算子函数吗,第09天C语言(18):结构体和函数

#pragma mark 结构体和函数 ###pragma mark 概念 /** 结构体之间赋值 是 值传递, 相当于拷贝 主要看函数的 形参 如果是 数据类型 就是 值传递 如果是 地址 就是 就会影响外面的 实参 */ ###pragma mark 代码

#include

struct Person {

int age;

char *name;

};

//void change (int value);

//void change(struct Person value);

void change(struct Person *value);

int main()

{

#warning 结构体和函数 传递结构体

/*

struct Person sp = {24,"lyh"};

// 1.将结构体的属性传递给函数, 在函数中修改形参 不会影响实参

printf("age = %i\n",sp.age);

// change(sp.age);

// 2.将结构体名称 作为参数传递, 在函数中修改形参不会影响到实参

// 结构体之间赋值 是值传递, 系统会将A结构体的值 拷贝一份 到 B结构体中

change(sp);

printf("age = %i\n",sp.age);

*/

/*

struct Person sp1 = {24,"lyh"};

struct Person sp2 = sp1; // 结构体之间赋值 是 值传递, 相当于拷贝

printf("sp1.age = %i\n",sp1.age);

sp2.age = 998;

printf("sp1.age = %i\n",sp1.age);

printf("sp2.age = %i\n",sp2.age);

*/

#warning 结构体和函数 传递结构体指针

struct Person sp1 = {24,"lyh"};

printf("sp1.age = %i\n",sp1.age);

change(&sp1);

printf("sp1.age = %i\n",sp1.age);

return 0;

}

//void change (int value)

// 结构体有作用域 要放到全局变量

//void change(struct Person value)

void change(struct Person *value)

{

// value = 99;

value->age = 100;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值