struct和 typedef struct

1. C語言中

  • 在C中定義一個結(jié)構(gòu)體類型一般使用typedef
typedef struct student{
    int a;
}stu;

// 有 typedef,聲明變量可以如下:
stu stu1;
// 沒有 typed 聲明變量需要如下:
struct student stu1;

// stu 等于 struct student
// 另外這里也可以省略掉student

2. C++中

// 情況1 
struct student{
    int a;
};

//直接使用
student stu2;

// 情況2 
struct student{
    int a;
}stu1;   // stu1 是一個變量

// 情況3
typedef struct student{
    int a;
}stu2;  // stu2 是一個新的結(jié)構(gòu)體類型 等同于student

// 使用時
int data = stu1.a //可以直接調(diào)用
stu2 student2;
student2.a = 1; // 創(chuàng)建一個結(jié)構(gòu)體實例才可以調(diào)用

3. 引用和指針

int a=10;
int p=a;

這種情況,p與a是不同的變量,這里是將a的值賦給p

int &p=a;

即 p是a 的別名,p和a其實是同一個整形變量,兩個占用同一塊內(nèi)存空間,如果有 p=15;那么a也是15,修改p與修改a是完全等價的
那么

int *a;
int * &p=a; 

很容易理解,把 int * 看成一個類型,a就是一個整型指針,p是a的別名

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容