目录
只对要点做笔记记录
要用C编程实现模块化,就必须掌握结构体、指针、链表的使用
1.结构体
重点截图
因此结构体定义时会同时定义一个变量和指向该变量的指针,做成一组,传参时直接使
用指向变量的指针
struct stu{
char *name; //姓名
int num; //学号
int age; //年龄
char group; //所在小组
float score; //成绩
} stu1 = { "Tom", 12, 18, 'A', 136.5 }, *pstu = &stu1;
结构体指针只是一个指针,只占有4个字节,一个结构体大小是sizeof(struct **)。所以如果没有给结构体指针指明结构体变量的地址,就需要malloc内存空间给结构体指针才能直接使用。
2.指针
1.
2.
int max(int intArr[6], int len){
int i, maxValue = intArr[0]; //假设第0个元素是最大值
for(i=1; i<len; i++){
if(maxValue < intArr[i]){
maxValue = intArr[i];
}
}
return maxValue;
}
-------------------------------
int max(int intArr[], int len){
int i, maxValue = intArr[0]; //假设第0个元素是最大值
for(i=1; i<len; i++){
if(maxValue < intArr[i]){
maxValue = intArr[i];
}
}
return maxValue;
}
就跟结构体指针一样,没有分配内存空间的参数就仅仅是一个地址,形参中的数组没有分配内存空间,当然也是一个地址而已,一个地址就是一个指针
2.
C语言指针作为函数返回值,将这样的函数称为指针函数(重点在后面的函数,返回指针的函数)
函数指针(重点在后面的指针,指向一个函数的指针)
括号很重要