首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C語言基礎教程(四)結構體數組與結構體指針:定義、訪問、動態分配與嵌套應用

     編輯:C 語言基礎

一、結構體數組

定義具有相同類型的結構變量集合。例如 40 位學生信息:

struct {
    char name[8];
    char sex[2];
    int age;
    char addr[40];
} student[40];

// 或分離聲明
struct string { ... };
struct string student[40];

訪問語法:結構數組[下標].成員名,如 student[0].name、student[30].age。本質上是二維構造:第一維為數組元素,第二維為結構成員。成員也可以是數組:

struct a { int m[3][5]; float f; char s[20]; } y[4];
y[2].m[1][4];  // 訪問 y[2] 中 m[1][4]

二、結構體指針

定義:struct string *student;。訪問成員用 ->:student->name 等價於 (*student).name。

動態分配初始化

student = (struct string*)malloc(sizeof(struct string));

必須分配內存後才能使用,否則指針懸空導致崩潰。

三、注意事項

  1. 結構變量/指針同樣有局部/全局之分,視定義位置而定。
  2. 結構變量名不是首地址(異於數組名),取首成員地址用 &結構變量名。
  3. 結構體可嵌套、可含數組、可定義指針,構成復雜數據模型。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved