C語言結構體實現多級選單的困惑,請高手解答

2023-03-02 22:35:10 字數 4189 閱讀 1566

1樓:網友

code keypad(改為code_keypad) 除非他倆不是一個整體!

---依林玫***。

2樓:匿名使用者

missing ';before 'code' :在code前面少了一個分號。

但看你**是沒有問題的。

應該是你在標頭檔案裡的巨集定義多了個分號 或者少了個分號。

求解答c語言結構體定義中typedef的作用

3樓:仁昌居士

c語言結構體定義中typedef的作用是為一種資料結構體定義一個新名字。

在c語言中使用回typedef幫助定義結構體,對。

4樓:逍遙足球子

加上typedef意為標籤式定義,在結構體定義之後,在定義型別時直接可以用結構體的名字去內定義物件。而不加上容typedef的話為型別名定義,也就要求之後再定義物件時需要加上 struct mystruct 才可以進行物件定義。

5樓:匿名使用者

定義baitypedef struct tagmystruct後 之後定du義zhi變數可以dao直接用 tagmystruct *p來定內義。

但是struct mystruct,之。

容後只能用struct mystruct *p來定義。

6樓:匿名使用者

c裡面在定義結。

bai構體型別的變數du

時要有struct關鍵字,如zhi果按照你下面的寫法dao就必須寫成:

struct mystruct a;

但是使用內typedef則是為結構體型別給容了一個新名字,按原先上面的寫法就直接寫成:

mystruct a;

7樓:匿名使用者

寫成來下面的是簡單,但是定義一個自結構體變數的時候呢就麻煩了。

要寫成struct mystruct ms;這樣定義。

而上面的有typedef的則不要,直接寫mystruct ms;這樣即typedef struct tagmystruct mystruct;後,原先定義結構體變數需要。

struct tagmystruct ms;

現在只要寫成mystruct ms了。

8樓:蒼紫幽藍

typedef為c語言的關鍵字,作用是為一種資料型別定義一個新名字。

typedef struct tagmystruct

mystruct;

這種定義之後,之後定義struct tagmystruct結構體變數回時,可以直接使用答mystruct代替struct tagmystruct,例如mystruct a。

注意如果沒有使用typedef,下面這種模式:

struct mystruct

;那麼定義結構體變數必須 struct mystruct a這種方式定義。

所以typedef有簡化變數宣告的作用,還有就是在跨平臺方面有很大作用,定義機器無關型別。

c++標準庫使用的 typedef 來建立平臺無關型別例如size_t,ptrdiff 和 fpos_t 。

驅動高手和c語言高手請進,一個神奇的結構體,求解

9樓:清江灬小蝦

1.建議你看以下gun c的擴充套件語法。這是ext2檔案系統的操作函式,應該是linux核心的。

2.以上的**作用是:給結構體中的每個成員賦值。用點號和結構體成員名賦值的用法核心中很常見的。

3.這種方式可以不必給結構體所有的成員賦值,也可以不按順序。其他沒用點號賦值的成員預設為空。

10樓:網友

樓上說的沒錯,這是給 結構體內部的域進行獨立定義。

這一段應該是linux驅動的**,用於宣告一個檔案操作的結構塊。

這個結構體右邊的,都是相應的函式指標。

如果驅動不支援某個操作,就可以不填寫相應的項。

11樓:匿名使用者

這些點好像是允許隨機賦值,不要按照原結構體定義的順序來賦值。

c語言高手請進,結構體裡的元素前面有一點「.」代表什麼意思?比如 .goodvar

12樓:匿名使用者

//定義一個結構體。

struct a

struct a s;//宣告一個結構體a的物件s要呼叫s裡的變數a和b 就需要用點,如就是s裡的a

13樓:手機使用者

struct pcb_type

;void main()

for(i=1;i<=10;i++)

list(pcb[i]);

} void list(pcb)

struct pcb_type pcb;

我用vc編譯的可以執行!

求高手指教c語言函式怎麼返回結構體

14樓:網友

#include

#include

#include

struct people

;people get_one_people()void main()

不適用 結構體內 有指標型別的結構體。

如果一定要有指標, 最好用c++的引用傳遞 或者 2級指標。

15樓:

下面的**告訴你一個事實:你的想法是可以實現的!

#include ""

struct abc;

struct abc myabc(void)void main(void),y;

y=myabc();

printf("%d %d %p%d %d %p",,

}接收結構變數y必須與返回結構是同一個型別。

16樓:無情天魔精緻

函式是可以返回結構體的。方法如下:(其它類似)以前以為函式的返回值只能是基本型別,但是今天被高手指出,函式的返回值可以是結構體的,特此編寫了如下的測試程式:讓大家見笑了。

#include

typedef struct str;

str change(str s)

int main(void)

17樓:匿名使用者

不要結構指標是無法返回的。這個是在dll返回結構的說明。

extern "c" structresult * winapi do(structs *p0, structs *p1, structv *pv)

呼叫c語言結構體裡的元素 什麼時候用點. 什麼時候用-> ??要詳細解答

18樓:玻璃麥田

用結構體變數引用的時候用點,用指標訪問的時候用->例如struct student stu1; struct student *pstu = stu1;

假設結構體中有元素int id。則訪問id的時候,可以用或者pstu->id

指標變數定義的時候都帶 *號的。

19樓:小兆

是結構體變數用點,結構體指標用->。一般情況通用,結果一樣。

20樓:2013努力實現

如果是結構體變數就用點,如果是結構體指標變數就用->

請c語言高手解答我結構體的問題

21樓:草叢裡的落葉

1.將變數定義在標頭檔案中。,&最好%f在兩個字串前輸入。

printf("%s,%s,%"

c語言中如何用子函式呼叫結構體中的變數實現資料的輸入與輸出。 5

22樓:生活教育娃娃能手

用子函式實現結構體資料的輸入與輸出:對於多數子函式的輸入與輸出,有一定規律性可言。

方法1:void型不傳值傳址呼叫與宣告。main中宣告void date_in(),void date_pout()。

函式定義前一定在main()前先定義結構體變數(全域性變數),然後定義輸入或輸出程式段。此時再main()呼叫即可。

如下:struct student

stu;void date_in();

void main()

void date_in()

時間問題程式有點簡潔,有問題請追問,很樂意與你分享。

C語言結構體,C語言結構體定義

sort函式引數裡寫的是陣列,因此呼叫函式的時候傳的是變數的地址,當結構體變數的值在sort函式發生變化的時候,在主函式的值也會發生同樣的變化,因此這個函式其實不需要返回一個具體的數值,寫return就可以了。其實如果不需要返回值的話,可以直接定義為void型別,這樣就不需要return語句了。so...

C語言結構體定義,C語言結構體定義

所謂結構體陣列,是指陣列中的每個元素都是一個結構體。在實際應用中,c語言結構體陣列常被用來表示一個擁有相同資料結構的群體,比如一個班的學生 一個車間的職工等。結構體可以儲存不同的資料型別,將他們互相聯絡起來。結構體陣列可以連續儲存多個結構體,和陣列作用相似。比如想定義同一個最小外接矩形的四個座標值,...

C語言結構體題目,c語言結構體題目

p為結構 st的指標 陣列a 3 為結構 st的陣列 既有3個st,每個結構 st裡有2個元素,所以有6個數值 第三問 a為陣列a 3 第一個元素a 0 的地址 p a,將陣列a的地址賦值給p,p指向a 0 p x 即為a 0 x 樓主學結構應該知道 dt 0 指取dt 0 的地址 第二問 a 0 ...