第09天C語(yǔ)言(18):結(jié)構(gòu)體和函數(shù)

一、概念
// 1.將結(jié)構(gòu)體屬性傳遞給函數(shù),在函數(shù)中修改形參 不會(huì)影響到實(shí)參
// 2.將結(jié)構(gòu)體名稱 作為參數(shù)傳遞, 在函數(shù)中修改形參 不會(huì)影響到實(shí)參
// 結(jié)構(gòu)體之間賦值是 值傳遞, 系統(tǒng)會(huì)將結(jié)構(gòu)體的值 拷貝一份 到 B結(jié)構(gòu)體中
二、代碼
#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; // 結(jié)構(gòu)體之間賦值 是值傳遞,相當(dāng)于拷貝
    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;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容