第09天C语言(18):结构体和函数
2017-07-12 本文已影响23人
liyuhong
一、概念
// 1.将结构体属性传递给函数,在函数中修改形参 不会影响到实参
// 2.将结构体名称 作为参数传递, 在函数中修改形参 不会影响到实参
// 结构体之间赋值是 值传递, 系统会将结构体的值 拷贝一份 到 B结构体中
二、代码
#include <stdio.h>
struct Person
{
int age;
char *name;
};
//void change(int value);
//void change(struct Person value);
void change(struct Person *p);
int main()
{
/*
struct Person p = {25,"lyh"};
printf("age = %i\n",p.age);
change(p);
printf("age = %i\n",p.age);
*/
/*
struct Person s1 = {25,"lyh"};
struct Person s2 = s1; // 结构体之间赋值 是值传递,相当于拷贝
printf("sp1.age = %i\n",s1.age);
s2.age = 998;
printf("sp1.age = %i\n",s1.age);
printf("sp2.age = %i\n",s2.age);
*/
struct Person s1 = {25,"lyh"};
printf("sp1.age = %i\n",s1.age);
change(&s1);
printf("sp1.age = %i\n",s1.age);
return 0;
}
//void change(int value)
//void change(struct Person value)
void change(struct Person *p)
{
p->age = 33;
}