結構體型別變數的引用,結構體變數的使用和引用

2023-02-13 18:35:02 字數 3297 閱讀 3100

1樓:匿名使用者

和其他型別變數的引用一樣呀,就是另外起乙個別名,兩者表示同乙個物件(實體)。

結構體變數的使用和引用

c語言,老師問了乙個問題:為什麼在定義結構體變數之前,必須先定義結構體型別?

2樓:自我程式設計

定義變數,就是在記憶體中申請空間,資料型別就與系統的約定,按照什麼樣的資料型別的儲存格式和計算邏輯對待。所以定義變數都需要指明型別,比如int a 就是指明int型。

那麼同理,結構是多種型別集合體,那麼定義結構變數,就必須先定義結構體型別。

3樓:影者東昇

這問題問的太弱智了吧,就像你做公尺飯之前,肯定要有公尺一樣。

不定義結構體型別,**來結構體型別來定義結構體變數。

就是說定義結構體變數,一定要先有該結構體型別。

如下面的例子:

// 這是結構體型別student的定義。

struct student

;//下面是結構體stu變數,是具體的某個物件了。

student stu;

// 如果你沒有定義student這個結構體型別,程式就不知道stu是什麼型別的變數了。

4樓:

型別是類,變數是類的乙個物件,c中的普通變數型別是在標頭檔案中定義好了的,所以你可以拿來就定義變數,如int型,而使用者想要建立乙個新型別的必須定義乙個此型別的模板這就是類,有了類才可以建立這個累的乙個例項就是變數或者說此類的乙個物件。

c++結構體變數的引用

5樓:匿名使用者

a:s1是個普通的變數,應該直接而不是s1->ab:p是個指標,指標指向了b正確。

應該寫作p->x

d:p是個指標,可以寫作(*p).y

定義結構體變數語法有幾種,分別是

6樓:匿名使用者

一是結構標記的宣告,如下:

struct point ;

建立了標記point,就可以用它來宣告變數:

struct point p1,p2;

注意不能漏掉前面的struct。

結構標記的宣告可以和結構變數的宣告合併在一起:

struct point p1,p2;

二是結構型別的定義:

typedef struct point;

然後就可以像內建型別一樣使用point,如宣告變數:

point p1,p2;

這裡不允許寫struct point。

結構體變數是什麼意思?

7樓:仙戈雅

變數名列表就是在定義結構體時,同時定義了2個或2個以上該結構體型別的變數。

比如struct 結構體名。

變數名1,變數名2,變數名3,變數名n;

上面的 變數名1至變數名n就是變數名列表,它多數是由2個或2個以上組成的(也可以只有1個或者不宣告變數也行)。

8樓:匿名使用者

結構體是一種使用者自定義的資料型別,其實是一組相關變數的集合。例如,要存放學生的資訊,包括學號,姓名,性別,成績等,就可以用結構體變數。在c語言中定義結構體型別及變數如下。

先定義結構體型別struct student;再用結構體型別定義結構體變數,struct student stu;結構體變數成員的引用。

9樓:匿名使用者

typedef struct studentstudent;

上面定義了乙個結構體。

student st; /這就定義了乙個結構體變數,st是變數的名稱,student是上面定義的結構體型別。

10樓:匿名使用者

位域結構體~一般網路傳輸等用得上, 冒號後面跟的數字代表佔的位數。

定義的是byte有什麼問題? 不管是byte還是int都一樣的啊, 當然unsigned是不一樣的。

結構體型別的指標引用成員變數,給成員變數用scanf怎麼賦值?

11樓:匿名使用者

實際上,用scanf對通過指標引用的結構體變數賦值與常規的scanf用法沒有差異。舉例如下:

#include

/* 宣告結構體 mystruct */

struct mystruct

;void main()

12樓:網友

ga是指標變數,沒有給它分配記憶體,可以用malloc函式。

13樓:壞餓

定義ga不能是指標型別的,指標型別是指可以存該型別的位址,在這沒有意義的。

14樓:匿名使用者

你需要定義結構體型別的變數啊。

例如:graph a, *ga;

ga = a; /ga指向a

scanf(..ga->x[i]..

這樣才是可以的。

15樓:大碌棍

沒錯啊,編譯都通過了,會不會是你的編譯器的問題?

關於結構體型別、結構體型別名以及結構體變數的區分?

16樓:之何勿思

關鍵字 struct 就代表是乙個結構體型別。

per就是就是這個結構體型別的名稱。

per per ; per就是定義好的結構體變數。

12345678910111213141516171819202122typedef struct perper;一般這樣定義結構體型別 定義變數的時候可以 struct per per; 或者 直接 per per; 而用你寫的定義方法只能用 per per 定義變數 如果這樣寫struct per; 只能用 struct per per 的方式定義變數。

17樓:匿名使用者

typedef相當於取別名。

typedef struct per這句和結尾的per都是結構體型別名;(除非省去typedef但是結尾的per得修改名字,因為此時修改過後的per已經變成了結構體變數名)

而c中,typedef是自定義變數名,struct是結構體關鍵字,所以c是錯誤的。

18樓:匿名使用者

per是結構體變數,該結構體沒有名稱。

19樓:李姐理解

培訓班怎麼招生?面對周圈多不勝數的培訓機構,在激烈的招生中如何脫穎而出?僅需幾步就能搞定,讓招生更簡單高效,少花冤枉錢。

c語言定義結構體變數,C語言 定義結構體變數

首先,定義一個結構的一般形式為 struct結構名 成員表由若干個成員組成,每個成員都是該結構的一個組成部分。對每個成員也必須作型別說明,其形式為 型別說明符 成員名 成員名的命名應符合識別符號的書寫規定。例如 struct stu 在這個結構定義中,結構名為stu,該結構由4個成員組成。第一個成員...

給結構體中的變數賦值,如何給包含結構體變數的結構體變數賦初值

是因為你使用指標時還沒分配記憶體。可以這樣 typedef struct l1 sdt sdt s s.name k1 或者用下面的方法 include 在開頭處包括標頭檔案 sdt s1 sdt malloc sizeof sdt s1 name k1 這兩種方法都行 你的指標變數s1是不是沒有初...

結構體中成員變數引用和區別?egpnum5和p

沒有更不更好,而是實際應該選擇什麼.用於物件 用於指標引用 在c語言中,指標p無論是指向結構體變數,還是結構體陣列,都能用p num 表示num的值,怎麼理解啊?宣告bai struct student 型別 struct student int num int score 然後du定義zhi 乙個...