一些琐碎的C语言知识

一.当有全局变量和局部变量同时定义时,优先使最近的起作用(全局变量和局部变量都各自只能定义一下,否则就会重定义而产生错误)

二.字符串遇到\0结束,如果没有,可能在读出时会产生无法预知的错误(因为他不会停止,程序会崩溃/产生不了想要的值)

三.转义字符

     /a -------------- 响铃
     /b -------------- 退格 
     /f -------------- 换页
     /n -------------- 换行
     /r -------------- 回车 
     /t -------------- 水平制表
     /v -------------- 垂直制表
     // -------------- 反斜杠 
     /? -------------- 问号字符 
     /' -------------- 单引号字符
     /" -------------- 双引号字符
     /0 -------------- 空字符(NULL)
     /12 -------------- 十进制
     /123 -------------- 八进制

四. 1、static

①.static修饰变量

a. 函数中局部变量:

  声明周期延长:该变量不随函数结束而结束
  初始化:只在第一次调用该函数时进行初始化
  记忆性:后序调用时,该变量使用前一次函数调用完成之后保存的值
  存储位置:不会存储在栈上,放在数据段
//其中,c因为每次循环始终为1,而b因为static的缘故,只在一开始初始化一次,将后续的值继续代入.
#include <stdio.h>
int sum(int a)
{
    int c = 0;
    static int b = 3;
    c += 1;
    b += 2;
    return (a + b + c);
}
int main()
{
    int i;
    int a = 2;
    for (i = 0; i < 5; i++) 
    { 
        printf("%d,", sum(a)); 
    } 
} 

b. 全局变量

让该变量只能在当前文件中使用

c. 修饰变量时,没有被初始化时会被自动初始化为0

②. static修饰函数

让该函数只能在当前文件中使用

五.sizeof(),strlen()不在乎是否有值,只在乎类型大小是否知道

六.C语言:缓冲区:就是一块内存,刷新策略:行刷新(遇到\n)/程序结束/强制刷新

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值