C語言關於結構體的問題,C語言結構體成員的引用問題

2022-02-27 14:42:21 字數 2065 閱讀 5499

1樓:匿名使用者

你要傳的是乙個陣列吧,直接這樣寫就行了

void show(struct length *pointer)使用時就可以按你那樣的直接取下標

point[count]

呼叫也不對

void show(*pointer);//不知道這裡怎麼錯了,請大家講下

改成show(pointer)就行了,還有你之前的定義struct length *pointer[50]=;

既然定義了陣列,前面就不用加*了

直接這樣定義就行

struct length pointer[50] = ;

這樣你用pointer時其實就是個指標,指向這個陣列首位址

2樓:匿名使用者

void show(*pointer);//不知道這裡怎麼錯了,請大家講下

這裡應該是呼叫該函式,前面已經有原型了,因此使用的時候不需要void,函式引數中由於型別為struct length *的陣列,實參point的型別正好如此,因此呼叫時用這樣就可以了:

show(pointer);

3樓:匿名使用者

我見過這樣的題,沒看懂你的意思,不過我看這樣說吧,

struct a

b; 我打。。。的地方表示你可以在那裡新增所有的資料形式的定義,比如,int a;char a[10];等等;

而b表示變數名。就如同int a的a一樣,只是乙個變數標示符,他就是乙個結構體變數了。當你使用typedef使,它表示的是列舉型別,功能如同巨集定義一樣,

使用他的時候方法如下:

首先 寫出你要表示的變數型別。列如:int a;然後在int的前面加上typedef,

typedef int a;然後把變數名a 改變成你要使用的表示符如 pp;

現在就變成 typedef int pp;

當你要在定義其他的變數是int型的時候,你就可以這樣定義了 pp b;

這裡的b就是變數名了。注意列舉型別它並不產生新的變數型別,只是一種替代作用。我在給你舉個列子吧

typedef struct a num;

num n;

這時候n就是 struct a 型別的結構體變數了。不知道你懂沒有。。。

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

4樓:

#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

5樓:匿名使用者

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

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

6樓:孤松獨海

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

7樓:出家人詞悲

結構體成員運算子。

->指標運算子。

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語言 定義結構體變數

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

關於C語言問題,關於C語言的問題

迴圈3次 5成立,結果 x 1,y 4,z 2。5成立,結果 x 2,y 3,z 1。5成立,結果 x 3,y 2,z 0。5失敗且不再執行 右側的 x,退出迴圈。所以最後結果是x 3 y 2 z 1,b正確。關於c語言的問題 巨集定義與賦值不同,而是字串的帶入,因此參與計算時要特別注意計算的優先順...

C語言指向這個結構體為什麼要加,C語言,指向結構體成員運算子是什麼意思?

這個 是 取的 data value mutex 的 位址,即 data 中的 value mutex 的位址,因為 c 語言中 比 優先順序高.你哪只眼睛 看見data指向nmma7660 client 型別結構體變數了?struct nmma7660 data data 這只是定義了乙個 指向結...