初学C语言技术文章大纲C语言简介C语言应用编译器有C/C是编译型语言 python是解释型语言开发环境搭建写第一个C语言使用VS20261、打开VS2、点击空项目3、调整位置项目名称名字位置项目存放在哪里一般不放在默认路径。4、创建源文件后缀意思.c源文件.h头文件创建源文件.cpp后缀是c的代码.c是c的代码。基本语法结构若是出现这种白框则按下键盘上的 “ins” 键。main函数是c语言的程序入口有且只有一个。数据类型与变量基本数据类型int、float、char等每种类型的大小/单位 字节byte1 byte8 bitsizeof(long)sizeof(int)存数据要向内存申请一片空间。变量的声明与初始化反映出全局变量和局部变量名字相同时局部优先常量的定义与使用计算俩个整数的和报错请使用_CRT_SECURE_NO_WARNINGS。解决作用域这样的情况是因为没有在左边声明来自外部符号解决方法使用extern进行声明。变量的生命周期C语言的常量分为1、字面常量值不变的量2、const修饰常量本质是变量但是不能被修改能改变 不能改变这样是错误的因为const 把int n 锁住了。3、#define定义的标识符常量标识MAX就是100的标识。枚举常量一 一列举这种类型的可能取值创建c的时候就像内存申请了一块空间用类型创建变量的时候才向内存申请了空间字符串根据字符串大小自动确定数组大小。末尾存在一个 \0 的转义字符字符串的结束标志是一个 \0 的转义字符在计算长度时 \0 是结束标志存放需要共617位\0 不算做字符串内容或者说不算长度但占存储位数。通过这种形式放入末尾并不存在 \0原因图1arr1打印遇到\0停止打出abcdefarr2打印完 f 没遇到 \0 则一直顺着打印直到遇到 \0 才结束打印。即越界访问。主动添加 \0 作为打印结束标志。求字符串长度要调用strlen所在的头文件 #includestring.h数数的时候不包含 \0 遇到 \0 停止,但是在通过数组形式的初始化时包含即图1。arr2在 f 后没遇到 \0 接着数才出现22这个长度。也就是越界访问。转义字符一些实例当不希望 \0 是转义字符时前面再加一个 \\130:X 130是8进制对应十进制 88对应ASCII码所在编号88的字符。ASCII码 A65 a97运算符与表达式算术运算符 - * / %出现此问题将 %d 改为 %.2f 意思是保留俩位浮点数。移位运算符左移 右移逻辑运算符按位与 ^按位异或 |按位或: 逻辑与——并且 ||逻辑或——或者关系操作符 !三目运算符逗号表达式关键字typedef可以将使用起来不方便的数据类型简化。对类型重命名static1、修饰局部变量---称为静态局部变量、static int a 在反汇编中是没有对应的汇编语句的也就是说只会执行一次。static修饰局部变量的时候局部变量出了作用域不销毁。本质上实在修饰局部变量的时候改变了变量的存储位置影响了生命周期。2、修饰全局变量---称为静态全局变量这样就不能用了。全局变量具有外部链接属性。当static 修饰全局变量的时候这个全局变量的外部链接属性就变成了内部链接属性其他的源文件.c就不能使用这个全局变量了。3、修饰函数----称为静态函数同2。register寄存器变量#define 定义宏写法#define 宏名参数参数宏体控制结构C语言是结构化的程序设计语言。条X件语句if、else、switch比如语句项是一些 case 表达式printfbreak若是整型表达式在1-5输出weekday6-7输出weekend可以通过这种去省略因为在执行case语句时会顺位往下执行。continue满足这个条件则跳过后续程序。循环结构for、while、do-while控制语句break、continue、goto函数数组与字符串一维数组与多维数组数据类型 数组名 数组大小 存放数据如下图这样没有赋初值则为垃圾值字符串的定义与操作常用字符串处理函数指针指针的概念与定义int说明p指向的对象是int类型的* 说明p是指针变量。*p是解引用就是通过p中存放的地址找到p所指向的对象指针就是地址也就是那个编号。存放指针地址的变量就是指针变量。将内存所在地址取出来。定义多个指针指针与数组的关系指针的运算结构体与联合体结构体的定义与使用自定义类型就是结构体struct也是把单一类型组合在一起的做法。格式这样就相当于是初始化了一个新的对象。这样子输出还可以此处* ps是在print函数指向了s。也就是说可以用箭头也可以用 点(.)去指向结构体里的数据。联合体的概念与应用结构体与指针的结合文件操作文件的打开与关闭文件的读写操作文件指针的使用常见错误与调试常见编译错误与解决方法调试工具的使用如GDB代码优化建议进阶学习建议推荐书籍与在线资源开源项目与社区后续学习路径如C、数据结构等