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

2022-02-26 13:14:45 字數 2691 閱讀 2493

1樓:

沒有a=;

這種賦值方法,改成

a.age=10;

a.cass=3;

或b->age=10;

b->class=3;

都行。另:class是c++關鍵字,若使用的是c++相容的c編譯器,則過不了編譯,應另起一名,如class,或classs等。

c語言 結構體變數的引用的問題

2樓:陳宗權

你問的兩個問題都跟結構體無關。

strcpy是乙個系統函式,用於複製字串,格式為strcpy(a,b)

其中a是乙個字元陣列的首位址,b是乙個要複製的字串,函式的功能是把b裡面的字串複製到字元陣列a中去。

3樓:匿名使用者

不能寫成逗號啊,這是結構體的語法,不同的變數用同一名字來引用,看看c語言方面的書籍就能明白了。

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

4樓:伏從靈

(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非指標,無法用->操作符,錯誤。

5樓:

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

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

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

6樓:

#include "stdio.h"

typedef struct

ex;ex = ;//賦值方式不對,結構體中成員a是指標變數,不能這樣賦值,按照你下面程式的意思應該是ex x=;a是int型變數,a在賦值前已經定義過:int c;

ex *px = &x;

main()

你的**是不正確的

*(px->a)等價於*(*px).a

px->b等價於(*px).b

7樓:匿名使用者

我忘了 ex = ; 這樣的初始化是否合法了,如果合法的話,那就是編譯器做了工作,把

ex = ; 轉換成了 (*ex.a) = 10;ex.b = 99;

8樓:孤松獨海

指標引用任何變數都是這樣引用的 ,規定的

9樓:出家人詞悲

結構體成員運算子。

->指標運算子。

1、如果結構體中的成員均為一般變數(包括結構體變數),則使用「.」,如果成員變數為指標(不管指向什麼,包括結構體),則使用「->」。

2、如果定義了結構體陣列指標,則可分別使用「.」和「->」,區別在於指標帶下標時,以是陣列形式訪問,此時用「.」,如果不帶下標(或使用偏移),此時用「->」。如:

struct myt

myt;

myt *pm;

pm = malloc(sizeof(myt)*100); //定義100個元素的結構體陣列

pm->i=1; //訪問結構體陣列指標中第乙個元素的成員變數i

(pm+49)->i=50; //訪問結構體陣列指標中第50個元素的成員變數i

pm[49].i=50; //功能同上一句

free(pm);

c語言 有以下定義和語句。。對結構體變數成員引用錯誤的是:

c語言結構體成員變數引用,提示未宣告

10樓:油條大巴

#include

#include//函式strcpy需要標頭檔案string.hstruct l

;int main()

;strcpy(a.name,"yang"); //字串賦值,一般用函式strcpy

b.num=103;

//原**b.name=;

strcpy(b.name,"yan");

c.num=230;

//原**c.name=;

strcpy(c.name,"yng");

head=&a;

a.next=&b;

b.next=&c;

//原**c,next=null;

c.next=null;

//p=head; //這個p是大寫 實際上變數p是小寫//原**for(;p=!null;p=p->next) //null是拼寫錯誤, =!是拼寫錯誤

for(p=head ; p != null ; p=p->next )

return 0;}

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

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

c語言結構體成員指標初始化問題,C語言結構體成員指標初始化問題

一中只是將name指向 jim 所在的空間,jim 已經存在了,直接將指標指向他即可,而二中是複製乙個 jim 到name所指向的空間,沒有初始化當然不行 第乙個 jim 返回的是乙個位址,是正確的。第二個記憶體分配小了。問題 一 中的student.name並未初始化,為什麼能賦值成功?stu.n...

C語言中連結串列中的結構體指標變數問題求教

定義結構體指標變數時,只分配儲存指標型別需要的空間,比如listnode p 這裡p有給他分配儲存指標的4個位元組的空間。實際上你是要讓p指向一個結構體空間的,這個結構體空間在哪?可以先定義listnode a 然後 p a 這時p指向一個之前申請分配過空間 編譯器設定過其地址和大小,在棧空間存放著...