#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.將結(jié)構(gòu)體的屬性傳遞給函數(shù),在函數(shù)中修改形參不會影響到實參
printf("age = %i\n",sp.age);
//change(sp.age);
// 2.將結(jié)構(gòu)體名稱作為參數(shù)傳遞,在函數(shù)中修改形參不會影響到實參
//結(jié)構(gòu)體之間賦值是值傳遞,系統(tǒng)會將A結(jié)構(gòu)體的值拷貝一份到B結(jié)構(gòu)體中
change(sp);
printf("age = %i\n",sp.age);
*/
/*
struct Person sp1 = {30,"lnj"};
struct Person sp2 = sp1;//結(jié)構(gòu)體之間賦值是值傳遞,相當于拷貝
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;
}