1.C语言中: 指针数组传参二级指针和长度
二维数组传参数组指针和长度
2.指针函数
指针函数是函数,函数的返回值是指针
int *fun(int x, int y);
注:指针函数不能返回局部变量的地址
例:char *fun(void){
char str[32] = {"hello world"};
return str;
}
虽然返回了str,但是str是一个局部变量,函数体结束,局部变量会被回收,地址是返回了,但里面没有值,相当于返回了一个野指针
3.函数指针
函数指针是指针,占8个字节空间,指向函数
例:
该例子中p = Add;就是让p这个函数指针指向Add这个函数,p(num1,num2)等价与(*p)(num1,num2),意思就是取p这个函数指针所指向的值,也就是函数本身
结构体
1.结构体类型的定义:
struct student {
char name[32];
int age;
char sex;
};
2.结构体变量的初始化:
1.全部初始化:
struct student s = {"zhangsan", 'm', 19, 100};
2.局部初始化:
struct student s = {
.name = "zhangsan",
.score = 100,
};
3..结构体成员的访问:
. :结构体变量类型访问成员变量
-> :结构体指针类型访问成员变量
结构体访问成员变量最终的类型由成员变量的类型决定
例:
j
今日错题
char **pstr;
*pstr = "hi";//这样赋值是对的,“hi”是char *型的,*pstr也是char* 型的