C語言中的結構問題,C語言中結構的理解

發布 科技 2024-04-09
6個回答
  1. 匿名使用者2024-02-07

    好像你對結構體和結構體指標不太了解,資料陣列是你定義的乙個結構體陣列,它由兩個結體元素組成,每個結構體元素包含兩個成員 x 和 y,第乙個元素是 1 和 10,第二個元素是 2 和 20,你定義的結構指標 p 開始指向陣列資料的第乙個元素, P 指向資料陣列的第二個元素,指標 P 可以操作兩個成員 x 和 y

    開始時:p->x 為 1

    p->y 為 10

    p 指標加 1 移動到陣列的第二個元素:

    p->x 為 2

    P->y 為 20

    你明白嗎?

  2. 匿名使用者2024-02-06

    p=data,其中 p 指向 1

    p->y 指向 1 的下乙個,即 10

    p->x 指向 p-x 之後的 2

    p 指向 20 後的 p->y

  3. 匿名使用者2024-02-05

    這是真的。 struct st *p=data;首先,將陣列的第乙個位址分配給 p;

    但是 p 屬於 struct 型別,並且有兩個整數變數,因此 p 認為兩個整數變數 1 和 10 屬於它,因此 p->y 的值為 10

    在第二條語句中,應該清楚 p++ 是結構 st 型別所佔的位元組數,首先,st 是帶有兩個 int 變數的結構體型別,所以在 ++p 之後,p 的點必須按兩個 int 型別的個數的大小向後移動,其中 p 指向 2, 所以 (++p)->x 等於 2

    如果你覺得不夠詳細,不夠清楚,可以給我發訊息。

  4. 匿名使用者2024-02-04

    定義結構變數 st,定義結構變數陣列 data;

    struct st

    int x,y;

    data[2]=;

    main()

    struct st *p=data;定義結構變數的指標,指向陣列。

    printf("%d",p->y);

    printf("%d",(+p)->x);(++p) 指向陣列的第二個結構元素。

    可以理解為陣列資料中有兩個元素。

    定義的指標 p 是結構化的,因此 ++p 已經指向。

  5. 匿名使用者2024-02-03

    struct st

    int x,y;} data[2]=;表示 data[0]=,即 data[0]。x=1,data[.y=10.

    所以 *p=data[0]。 p->y = 10;

    當指標 p 遞增 1 時,指標將移動到 data[1](而不是 10)。 每一步都是整體的一步。 所以 (++p)->x=2。

  6. 匿名使用者2024-02-02

    1. 結構定義結構體是一條或多條資料的集合,可以是不同的型別,結構體等效於陣列公升級。 如果我們想計算乙個班級中學生的成績,並且成績是浮點型的,我們可以使用成績陣列存款。 但是,如果要統計乙個班級學生的姓名、性別、成績,名字是字串,年齡是整數,成績是小數,因為資料型別不同,顯然不能用陣列存款。

    為了解決這個問題,在C-struct中給出了另一種型別的構造資料。 它可以將同一物件的多種資料型別儲存在一起。

    2. 定義形式方式 1,將結構變數直接放在結構的尾端。

    結構結構名稱; 張三男得100分四、結構的使用以模式 2 為例。

    struct student ;張三 男 評分 100*** 使用***

    zhangsan. score =60;將張三的分數分配到 60 分

相關回答
4個回答2024-04-09

我見過這樣的問題,我不明白你的意思,但我認為是這樣的,結構; 我打了...... 您可以在其中新增所有資料形式的定義,例如 int >>>More

6個回答2024-04-09

定義結構:

typedef struct _legaladdress_{ >>>More

8個回答2024-04-09

分號是語句結尾的符號,但迴圈後不使用分號,if、and 子函式如 long long a (int b) 等,其他所有都用了,但不能加兩個分號,雖然不會造成錯誤,但可能會影響結果。

7個回答2024-04-09

第乙個 if(!) a) 表示如果 a 等於零,則取 x——第二個和第三個表示如果 b 和 c 不為 0,則執行它。 >>>More

11個回答2024-04-09

C 語言的有效變數名稱:

首先,它只能包含數字、字母和下劃線。 >>>More