一些琐碎的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修饰函数
让该函数只能在当前文件中使用