一、先定義結構,再聲明結構變量
struct hero
{
};
int main()
{
// 聲明結構變量
struct hero hero1;
struct hero hero2;
}
聲明類型爲hero結構的變量,將會爲變量hero1分配內存,大小是大於或等於所有成員變量的大小之和
二、定義結構類型的同時,聲明結構變量
struct hero
{
}hero1,hero2;
三、直接聲明結構變量
struct
{
}hero1,hero2;
------------------------------------------------------------------------------------------------------------------
結構體可以嵌套結構體。
指向結構的指針——結構指針變量:其值是所指向的結構變量的首地址。
struct 結構名稱 * 結構指針變量名 = & 結構變量名;
訪問結構成員形式:
1. (* 結構指針變量).成員變量名
2. 結構指針變量->成員變量名
結構數組使用指針時,動態賦值需要首先分配內存:
使用malloc分配空間,將錄入的臨時字符數組複製到字符指針中。結構變量名.成員變量名 = (char *)malloc(25);
scanf("%s", 結構變量名.成員變量名);
----------------------------------------------------------------------------------------------------------
注意:
1. 結構定義並不預留內存
2. 結構定義一般放在程序的開始部分(頭文件聲明之後)
3. 結構定義僅用來描述結構的形式,使用結構需要聲明結構變量