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 ...