王道训练营第二周

1.函数声明--定义--调用

先声明,再int main(){},最后定义函数;

2.新建func.c,里面放入print()函数,加上头文件,链接之后仍然可以实现功能;

3.新建头文件--func.h, 将#include<stdio.h>等等放入func.h头文件,在main.c中加上include"fun.c",双引号表示优先搜索当前路径;

4.头文件func.h中首先声明,后面写函数会自动联想;

5.全局变量为数据段中的值,就近原则;

局部变量中的变量为局部函数中的值,就近原则;

6.全局变量存放在数据段,会降低阅读难度,尽量不用全局变量;

7.ctrl+k+d:复制选中代码;ctrl+k+c:注释选中代码;

void b(jmp_buf envbuf)
{
    printf("I am b funcion.\n");
    longjmp(envbuf,5);
}

void a(jmp_buf envbuf)
{
    printf("Before b(),I am a funcion.\n");
    b(envbuf);
    printf("After b(),I am a funcion.\n");
}

int main()
{
    jmp_buf envbuf;
    int i = 0;
    i = setjmp(envbuf);
    if (i == 0)
    {
        a(envbuf);
    }
    system("pause");
    return 0;
}

8.进入函数-->逐语句;

9.static修饰3种值:

1).全局变量,只对本文件可见,其他文件不可见;

2).局部变量,不存在于栈内存,静态局部变量初始化一次,统计执行次数;

3).函数,void print_two()//默认extern;若加static,只能在本文件内被调用,不能被其他文件使用;

10.求结构体内存空间应该用sizeof();每个变量应该对齐;为了避免浪费空间,小字节变量应该放在一起;

11.混合数据类型%c之前应该加一个空格;

scanf("%d%s %c%d%f%s", &s_arr[i].num, s_arr[i].name, &s_arr[i].sex, 
            &s_arr[i].age, &s_arr[i].scores, s_arr[i].addr);

12.int a[10]; int *p=(int*)calloc(1,sizeof(a));//表明申请1*sizeof(a)的空间,并且初始化;

13.CTRL+K+F,格式化

14.windows为每个函数分配1M的空间,大概25万个整型数;

15.%!xxd-->linux看内存

16.文件模式:

文本模式:“r+”:(往文件中写入\n,磁盘存储的是\r\n)写入hello\nworld这11个字节,实际写入12个字节

二进制模式:"rb+":(往文件中写入\n,磁盘存储的是\n)

17.sscanf();整型浮点型转化成字符串;

sprintf();

18.fscanf(fp,"%d%s %c%f%f%f",&s.stu_id,s.name,&s.sex,&s.score[0],
        &s.score[1], &s.score[2]) != EOF

%c应该设置空格!!

!!!!!!切记!

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值