定義結構體變量及初始化


  雖然已經了解結構體類型,但是結構體類型變量的定義只有一種方法么,這個當然不是的,所以我把我所知道的幾種方法列出來供給大家參考一下;

  首先是第一種,也是我們經常用的一種:

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <stdlib.h>
 4 
 5 typedef struct Student1
 6 {
 7     char name[32];
 8     int age;
 9 }Student1;//定義一個結構體類型//可以通過類型來定義變量
10 void main()
11 {
12     Student1 S1;
13
14     system("pause");
15 }

  這里我們可以看見可以直接定義一個結構體類型,然后通過類型來定義變量,這是一種比較常用的方法,然后下面的幾種定義變量的方法我平時用的比較少:

 1 struct Student2
 2 {
 3     char name[32];
 4     int age;
 5 }t1,t12;//第一結構體類型的同時,定義結構體變量
 6 
 7 struct
 8 {
 9     char name[32];
10     int age;
11 }T1;//直接定義結構體變量,這里只能使用已定義的變量,無法在定義其他結構體變量

  這兩種都可以直接定義變量,特別是最后面直接定義一個結構體變量,由於是匿名定義的所的,所以除了已定義的變量,是無法在通過它定義其他變量了;

  然后我們可以再來看看初始化的幾種方法:先說說第一種也是比較常用的一種:

  

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

typedef struct Student1
{
    char name[32];
    int age;
}Student1;//定義一個結構體類型//可以通過類型來定義變量

void main()
{
    Student1 S1 = {"aaa",2};//定義變量時直接初始化
    
    system("pause");
}

  這種是比較常用一點的;至於下面的用的就比較少了,反正我是很少用的;(至於工作中用的多不多我就不知道了,畢竟我還只是個學生而已);

struct Student3
{
    char name[32];
    int age;
}s1 = {"aaa",2},s2 = {"bbb",3};//直接定義結構體類型並初始化


struct
{
    char name[32];
    int age;
}t2 = {"ccc",4};//直接定義結構體變量並初始化

  這兩種初始化和和上面的2,3的變量定義是一樣的,都是直接定義了,然后可以直接用了,平時我用的一般都是第一種定義變量和初始化個人覺得比較好吧!想用的時候就定義,不想用的時候就釋放掉;不像直接定義即使不用也會一直占用空間的,已經定義為全局變量了;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM