01-09、结构体-结构体类型变量的属性及自身在函数中的传递

#include

//void change(int value);

struct Person

{

int age;

char *name;

};

//void change(struct Person value);

void change(struct Person *p);

int main(int argc,const char * argv[]){

/*

struct Person sp = {30,"lnj"};

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

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

//change(sp.age);

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

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

change(sp);

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

*/

/*

struct Person sp1 = {30,"lnj"};

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);

*/

struct Person sp1 = {30,"lnj"};

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 *p)

{

//value = 99;

//value.age = 100;

p->age = 998;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容