指针函数,函数指针,结构体

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* 型的

  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值