c語言中對結構成員的引用問題 求 詳細

2022-02-25 04:27:11 字數 2721 閱讀 3838

1樓:伏從靈

(51719)

stu 結構體變數

p 指向stu 結構體變數的指標

(a) *p.num

操作符.的優先順序高於*操作符,所以相當於*(p.num)p是指標,用.操作符取成員肯定是錯誤的。

(b) (*p).score

先對p解引用得到結構體物件,然後.操作得到成員,正確。

(c) p->num

p->num=(*p).num 正確

(d) stu.name

取結構體變數成員,正確。

(51720)

a) p.num

p是指標,無法取成員,錯誤。

(b) student.num

student是結構體名,不是變數,無法取成員,錯誤。

(c) p->num

=(*p).num,正確。

(d) stu->num

stu非指標,無法用->操作符,錯誤。

2樓:

a.c第一個應該把*p擴起來,要不就弄成*(p。num)了

第二個和第一題比較得知、

關於c語言的一道題求每個選項解析

c語言中結構成員的引用時,'.'與'->'的區別在**?什麼時候用』 . ',什麼時候用'->'?

3樓:

記住,通過指標獲取成員時用->。

回答完畢。

4樓:墨派

在結構體中要訪問成員有兩種方式:

1,通過「.」,它在什麼情況下都能用!

2,通過「->『,他是當區域性變數遮蔽了全域性變數時,而你又要訪問全域性變數時用的!{你應該知道這種情況下以區域性變數的值為準!所以才出現了-> !}

5樓:

通過結構體指標訪問結構體成員時,使用->

例如:struct student

stu;

struct student *p=&stu;

欲給結構體變數stu的age成員賦值18,有三種寫法:

stu.age=18

p->age=18 等價於 (*p).age=18後兩種寫法都是通過指標訪問結構體的成員。

c語言中定義結構體有哪些方法?

6樓:宇望

1.結構體型別資料的定義方法和引用方法

定義結構體:struct 結構體名

;定義結構體型別的變數:有三種形式

① 定義型別時定義變數:struct 結構體型別名

變數名列表;

② 直接定義結構型別變數:struct

變數名列表;

③ 由已定義的結構體型別來定義變數:struct 結構體型別名變數名列表;

引用結構體型別變數:在定義了結構體型別變數後,採用下列方法引用結構體型別的

變數:結構體變數名.成員名

這裡"."是成員(分量)運算子,它在所有的運算子中優先順序最高。

使用結構體時注意:

(1)結構體型別和結構體型別變數是不同的概念,定義結構體型別變數時應先定義

結構體型別,然後再定義變數屬於該型別。

(2)定義了—個結構體型別後,系統並沒有為所定義的各成員項分配相應的儲存空

間。只有定義了一個結構體型別變數,系統才為所定義的變數分配相應的儲存空間。結構

體型別變數佔用記憶體的位元組數是所有成員佔用記憶體長度之和。

(3)結構體成員的引用。如果一個結構體中又巢狀一個結構體,則要訪問一個成員

時,應採取外層向內層逐級訪問的方法。

7樓:墨兒董子墨

定義了glass是大小為2的陣列,裡面的元素是cls型別的結構體。結構體裡面有a,

b,c,

d四個域。其中a佔了10位,

b是1位,

c是10位,

d是1位。。

8樓:匿名使用者

struct time_strtime_of_day;

這告述編譯器定義一個型別名為 time_str 的結構 並定義一個名為 time_of_day 的結

構變數 變數成員的引用為結構 變數名.結構成員struct time_str oldtime,newtime;

這樣就產生了兩個新的結構變數 這些變數都是相互獨立的

c語言關於外部檔案呼叫結構體變數的問題,急求

9樓:匿名使用者

最終的答案我已經找到:

//file: head.h

struct test

; // 這裡不能定義任何變數,因為標頭檔案被許多檔案包含,會出現重複定義

extern struct test *right; // 申明結構體變數 right 在其它檔案中定義

//file: use.c

struct test *right; // 在這裡將 right 定義為全域性變數

//file: other.c

#include "head.h" // 只要將標頭檔案包含進去,任何檔案都可以呼叫 right;

void over()

{ printf("%c",right->j); // 直接呼叫結構體變數 right 的成員}

10樓:匿名使用者

在-1 -2檔案用extern stud 就行了

C語言結構體型別問題,C語言中的結構體型別是什麼?

結構體裡的冒號 位結構是一種特殊的結構,在需按位訪問一個位元組或字的多個位時,位結構。比按位運算子更加方便。位結構定義的一般形式為 struct位結構名 位結構變數 資料型別必須是int unsigned或signed 整型常數必須是非負的整。數,範圍是0 15,表示二進位制位的個數,即表示有多少位...

c語言中結構體問題,本人菜鳥。求高手指教

typedef struct node linklist 相當於struct node typedef struct node linklist typedef的作用是重新命名 這段的意思就是把struct node重名為linklist linklist a 就相當於struct node a c...

c語言求餘數問題!過來,C語言中 取餘數的問題

40除以23等於1 餘 17 驗證 1 23 17 40 正確。23除以40等於0 餘 23 驗證 0 40 23 23 正確。這個不是c語言的規定,這個是數學問題。取餘的意思就是做除法後得到的餘數。40除以23,商是1,餘數是17,所以40 23 17.23除以40,商是0,餘數是23,所以23 ...