变量 指针 引用
变量
普通变量表示一个内存空间,直接printf是内存空间里的值
结构体
定义一个结构体类型变量为什么必须用指针?
因此无法确定结构体需要多少空间,改用指针可以解决这个问题,因为指针的大小是固定的
指针
指针≠指针变量
指针变量的内存空间存的是一个别的内存空间的地址(指针),
如果指针变量定义时不初始化,变量所指的内存里是NULL
偏偏教材喜欢用结构体指针作为参数
引用
引用指的是原变量,对引用操作就是对原变量操作。
要知道函数传参时,即使传递指针变量,也不是原变量
指针的引用*&
为了在main调用函数时,一直用一个指针变量,否则,比如在CreateList()创建顺序表函数中malloc一个指针,这个指针存入函数本身的指针变量L,而main中的指针变量list仍为NULL。
void CreateList(SqlList * L){L=(SqlList*)malloc(sizeof(SqlList));
}
int main() {SqlList *list;CreateList(list);return 0;
}
参考文献
1、结构体里面定义一个该结构体类型变量为什么必须用指针?
2、指针变量、普通变量、内存和地址的全面对比
3、C语言结构体指针必须被结构体变量赋地址或malloc后才能正常使用,不能单独赋值?