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的別名