當前位置:首頁 » 編程語言 » c語言可以傳結構體參數嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言可以傳結構體參數嗎

發布時間: 2022-06-19 22:38:46

⑴ 關於c語言結構體形參傳遞的問題

一個要求數據返回,一個只是參數傳遞而不要求有返回。在C中使用*號代表地址引用,也就是說你傳遞過去的是一個實際的地址參數值,在編譯器中,參數的傳遞如果不要求有地址返回,在編譯過程中會新產生一個臨時變數來存儲你傳遞的型參,也就是說,傳遞過去的只是一個重新被賦值過的變數,這個變數是臨時的,在使用後就會被系統收回,達不到返回的目的。

⑵ c語言函數參數能用結構體變數當參數嗎

當然可以,只要你先定義結構體就可以了

⑶ c語言能向函數里傳遞任意一個結構體嗎

可以傳遞結構體,不過我不知道你是哪種情況,我自己寫了一個含有時分秒的結構體,就可以作為參數進行相加相減

⑷ C語言中 結構體作為函數參數

1.可以把結構體作為參數啊,
2.不去取地址的意思,是引用的意思,函數執行時修改L的值,就直接的修改了實參的值,相當於地址傳遞了。

3.真正調用的時,如下:
SqList tempStruct;
InitList_Sq(tempStruct)
這樣就可以了。
呵呵

⑸ 關於c語言中的結構體數組作為函數參數傳遞的

1、結構體數組傳給指針,實質上是不可能的,本質上傳的是數組首地址,根據偏移來操作數組,這樣看起來好像是真在操作數組一樣。就和普通指針一樣使用,只不過它是結構體數組。
2、常式:

typedefstructStudent
{
charname[10];
intage;
}Student;
#defineLEN10
//printallStudentinfomation
voidfun(Student*pStu,intlen)
{
inti;
for(i=0;i<len;++i)
{
printf("%s %d",pStu[i].name,pStu[i].age);
}
}
intmain()
{
Studentstu[LEN];
fun(stu,LEN);

}

⑹ c語言中用結構體的實例當做函數的參數是什麼形式傳入的

參數的傳入分為兩種形式:值傳遞和地址傳遞。如果把實例本身作為參數傳到函數裡面去,那麼在函數裡面實際上是另外產生一個臨時的實例,其值和函數外部的那個實例一樣,當然在函數內部對其做的一些改動是不會影響到外邊的實例的,因為就不是同一個東西。當然如果在函數里不是想去改變什麼而只是單純的計算一些東西還是沒問題的,不過在內存中的地址之類的當然是不一樣的。。。傳指針也就是把地址傳進去,那麼在函數里對該地址中的數據進行操作,當然就是在外部實例本身上面進行修改了

⑺ C語言 struct錯誤,關於結構作為參數傳遞

改好了,已測試可以運行,自己比對一下和你代碼的區別。不懂的地方追問。

#include<stdio.h>

struct data{
char fname[20];
char lname[20];
char num[10];
char tele[15];
}class1;

void printclass1(struct data* p_class1);

int main()
{
printf("fname\n");
gets(class1.fname);
printf("lname\n");
gets(class1.lname);
printf("num\n");
gets(class1.num);
printf("tele\n");
gets(class1.tele);

printclass1(&class1);

return 0;
}

void printclass1(struct data* p_class1)
{
printf("num %s:name is %s %s,tele is %s",p_class1->num,p_class1->fname,p_class1->lname,p_class1->tele);
}

⑻ C語言中,結構體作為函數參數傳遞,詳解

1.可以把結構體作為參數啊,
2.不去取地址的意思,是引用的意思,函數執行時修改L的值,就直接的修改了實參的值,相當於地址傳遞了。
3.真正調用的時,如下:
SqList
tempStruct;
InitList_Sq(tempStruct)
這樣就可以了。
呵呵