1. C语言中
- 在C中定义一个结构体类型一般使用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 是一个新的结构体类型 等同于student
// 使用时
int data = stu1.a //可以直接调用
stu2 student2;
student2.a = 1; // 创建一个结构体实例才可以调用
3. 引用和指针
int a=10;
int p=a;
这种情况,p与a是不同的变量,这里是将a的值赋给p
int &p=a;
即 p是a 的别名,p和a其实是同一个整形变量,两个占用同一块内存空间,如果有 p=15;那么a也是15,修改p与修改a是完全等价的
那么
int *a;
int * &p=a;
很容易理解,把 int * 看成一个类型,a就是一个整型指针,p是a的别名