一些琐碎的C语言知识

it2023-01-14  65

一些琐碎的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()不在乎是否有值,只在乎类型大小是否知道

最新回复(0)