C语言学习day13

1.const指针

const 关键字 是个常量并且时只读

 1.const int *p ===int const *p;

const修饰 *p;变量p值可以改变,但是不能利用指针修改指向空间中的值

2.int *const p;

const修饰p,即p值不能改变,但是利用指针变量p修改指向空间中的值,一定要初始话

3.const int *const p===int const *const p;

p和*p都不能变所以必须初始化

2.void

int *、double *、char * 转换为 void * 需要强制类型转换

void *转换为int *、double *、char *不需要强制类型转换

strcpy 拷贝字符串
memcpy 拷贝一段内存空间

3.函数指针和指针函数

 1.指针函数

局部变量的地址不能返回,因为局部变量会随函数作用域结束被回收,虽然能够获得返回的地址,但地址对应的空间已经被回收过了

 2.函数指针:

 int (*Fun)(int a, int b) = NULL;
  定义函数指针变量Fun,占8个字节空间,指向int返回值有2个int参数的函数

4.二级指针的使用场景

 1.指针数组传参时:

 char *str[5];

  int Fun(char **ppstr, int len);

.2函数体内想修改函数体外指针变量值的时候,要传递指针变量的地址即二级指针

 char *p = NULL;

 int Fun(char **pp);

5.结构体

5.1结构体类型定义

struct 结构体名 
        {
            数据类型1 成员变量1;
            数据类型2 成员变量2;
            数据类型3 成员变量3;
            ..
        };

5.2结构体变量的定义

数据类型 变量名;
 数据类型 *指针变量名;

5.3结构体变量的初始化

1.全部初始化:
 struct student s = {"zhangsan", 'm', 19, 100};

2.局部初始化:
            struct student stu = 

{
                .name = "lisi",
                .score = 90,
 };  
 

5.4结构体成员变量的访问

.  结构体变量类型访问成员变量使用

-> 结构体指针类型访问成员变量使用

作业:
    1.定义一个结构体包含年-月-日三个成员
        struct date 
        {
            int year;
            int mon;
            int day;
        };
        从终端接收年月日信息存放到结构体中,计算该天为该年的第几天?计算该年剩余多少天?打印年月日信息


    
 

2.封装一个函数,给定一个数字字符串转换成其对应的整形数 "123456" 123456 int MyAtoi(char *pstr);

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值