C語言,結構體和函式的問題,關於C語言結構體和函式的問題

時間 2022-10-20 13:05:50

1樓:匿名使用者

#include

struct math

;void main()

struct math add(struct math s1,struct math s2)

回答的人還挺多,居然沒樓上的手快,看來我只有增加內容了!

說明:區域性函式需要乙個返回值,給z。

這道題可以有三種解決方法

一、用指標,讓區域性函式返回值用指標傳遞,這樣區域性函式可以寫void add...

二、把z定義成全域性變數(就是在main函式外面定義z),然後區域性函式裡邊不要重新定義z,這樣可以把區域性函式運算中的值儲存下來。區域性函式也可以寫void add...

三、用返回值,就是區域性函式不要寫成void add...,讓他帶個返回值,返回給乙個數,就是上面的程式就ok了

回答追問struct math add(struct math s1,struct math s2) 這裡為什麼要定義成結構體?

因為返回值是結構體

2樓:微俊

用指標撒 c++用引用就行了

3樓:匿名使用者

add(struct math, struct math)可以改一下:

struct math add(struct math s1,struct math s2)

這樣就該可以了!

關於c語言結構體和函式的問題

4樓:匿名使用者

形參z是指向comlpex型別指標,而函式的返回值被定義為了comlpex型別

型別不匹配自然會報錯

應該返回*z

5樓:匿名使用者

結構體是一種資料型別,用來將不同型別的資料組合在一起,決定資料的儲存問題(比如在記憶體占多大的空間來,系統怎麼解釋儲存資料的位資料啦等等)同int, double 等編譯器內建的資料型別基本相同,只不過結構體是使用者自己定義的資料型別而已

c語言結構體及函式問題

6樓:匿名使用者

沒分啊,我就不具體看了,給你個慢慢看吧

#include

#include

#include

struct stu

;file *fp;

//新增學生資訊,可以排除與已存的衝突;

void add()

}if(n==0)

}//修改學生資訊;

void modify()

printf("請輸入要修改學生的學號\n");

scanf("%d",&number);

while(!feof(fp))

}if(n==0)

fclose(fp);

}//刪除學生資訊;

void del()

printf("請輸入刪除學生的學號\n");

scanf("%d",&number);

while(!feof(fp))

else printf("您已放棄刪除該學生資訊\n");

n=1;

break;}}

if(n==0)

fclose(fp);

}//查詢學生資訊;

void search()

printf("請選擇查詢方式:1--按學號查詢;0--按學科查詢\n");

scanf("%d",&m);

if(m)

}if(n==0)

fclose(fp);

}else

//統計學生資訊;

void tongji()

printf("0--統計單科平均成績\n");

printf("1--統計單個學生的平均成績和總成績,對學生排名\n");

printf("請選擇統計型別\n");

scanf("%d",&m);

if(!m)

printf("物理的平均成績為 %2.2f\n",sum/n);

fclose(fp);

}if(m==2)

printf("化學的平均成績為 %.2f\n",sum/n);

fclose(fp);

}if(m==3)

printf("數學的平均成績為 %.2f\n",sum/n);

fclose(fp);}}

else

排序後\n");

printf("學號\t總成績\t平均成績\n");

for(i=0;i=0&&m<=5)

printf("\n\n操作完畢,請再次選擇!");

}else

printf("\n\n選擇錯誤,請再次選擇!");}}

在c語言中 函式和結構體的區別

7樓:發來咯嗯

函式是自定意義型別 結構體是把自定意義型別 資料整個在一起 儲存起來

8樓:

c語言中結構體和函式有著本質上的不同。

結構體是使用者自己定義的一中資料型別,比如說你想要把學生資訊作為乙個整體存放在乙個資料型別中,可以定義結構體,其中某個成員存放學號,某個存放姓名等等。

但是函式就完全不同了,函式是為了實現某種功能,比如你要在一堆學生中尋找某乙個學生可以用函式來實現。

9樓:西安

結構體是c語言裡面使用者自定義 的一種資料型別,和int double 基本一樣,只是,裡面可以包含多種資料型別,它的出現大大豐富了c語言的資料型別。

而函式是c語言的主體,函式呼叫,資料,執行運算,命令。

懂?你是初學者吧.還有啥不太清楚的可以再發郵件給我,。我郵箱[email protected].

10樓:

乙個程式通常圍繞這兩個方面進行:資料儲存和資料操作;

結構體是一種資料型別,用來將不同型別的資料組合在一起,決定資料的儲存問題(比如在記憶體占多大的空間來,系統怎麼解釋儲存資料的位資料啦等等)同int, double 等編譯器內建的資料型別基本相同,只不過結構體是使用者自己定義的資料型別而已,例如:

struct student

{char name[20];

int no;

};函式是對資料的一種操作;

11樓:愛星星的魁拔

函式一般用來進行某項操作,結構體用來儲存資料,怎麼會差不多?

12樓:匿名使用者

結構體定義的是一種資料型別和函式一點都不一樣啊

c語言結構體函式問題 急 30

13樓:容子芸問冬

#include"stdio.h"

struct

ymd;

intday[13]=;

intdays(struct

ymd*p)

void

main()

在c語言中struct結構體裡面 不能定義函式麼?

14樓:匿名使用者

不可以的,結構體一般都只有資料成員,而沒有函式成員。也就是像int、double這樣的資料型別,函式需要單獨定義。如果必需使用函式,就得用c++中的類概念了

15樓:匿名使用者

c中不能,c++裡可以在結構體內定義函式,用法和class定義類是一樣的,說穿了struct 和 class用法相同,但要注意的一點是,struct預設的是public型別,而class預設的是private型別的

16樓:匿名使用者

是的。結構體只能儲存資料。在c++中,引入了類的概念,類中既可以宣告變數,也可以定義函式。

17樓:匿名使用者

不能.結構體是一種復合資料型別只能存放資料 不過你可以嘗試定義乙個指向函式的指標看看.

18樓:那些忘記的什麼

linux. c可以,手機打字不方便,在結構體中定義指標函式

關於C語言結構體定義的問題,C語言裡結構體的問題。結構體定義指標型別是怎麼回事?

parr t就是乙個指標。其中parr t中儲存著對應的位址 parr t就是這個位址對應的變數,而且這個變數是arphdr結構型別 我見過這樣的題,沒看懂你的意思,不過我看這樣說吧,structab 我打。的地方表示你可以在那裡新增所有的資料形式的定義,比如,int a char a 10 等等 ...

c語言結構體問題,C語言結構體成員的引用問題

c 允許使用者根據需要自己宣告一些型別,使用者可以自己宣告的型別還有結構體型別 structure 共用體型別 union 列舉型別 enumeration 類型別 class 等,這些統稱為使用者自定義型別 user defined type,udt struct student type,你已經...

結構體再函式中的作用,c語言中結構體的作用到底是幹什麼的,能通俗點講嗎

結構體和其他型別基礎資料型別一樣,例如int型別,char型別只不過結構體可以做成你想要的資料型別。以方便日後的使用。在專案中,結構體是大量存在的。研發人員常使用結構體來封裝一些屬性來組成新的型別。結構體在函式中的作用不是簡便,其最主要的作用就是封裝。封裝的好處就是可以再次利用。讓使用著不必關係這個...

關於c語言結構體變數成員引用的問題

結構體成員運算子。指標運算子。1 如果結構體中的成員均為一般變數 包括結構體變數 則使用 如果成員變數為指標 不管指向什麼,包括結構體 則使用 2 如果定義了結構體陣列指標,則可分別使用 和 區別在於指標帶下標時,以是陣列形式訪問,此時用 如果不帶下標 或使用偏移 此時用 如 struct mytm...

關於c語言結構巢狀發什麼的問題,關於c語言 結構巢狀發什麼的問題

同學,就我看來,你的程式有如下幾個問題 1.結構體賦值是淺拷貝,意思就是直接結構體的記憶體的拷貝。如果遇上指標和陣列,只是複製了指標或陣列的位址,那麼問題來了,如果指標指向的記憶體被釋放,那麼此時指標成為野指標,就會出現一些不可預見的問題。如圖,就你程式來說 student 結構體內有陣列,max變...