C语言进阶
文章平均质量分 78
深入学习C语言进阶操作,加深对C语言的数据类型了解及文件操作。
小糖学代码
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
13_程序环境和预处理
_FILE__ //进行编译的源文件名称__LINE__ //文件当前的行号__DATE__ //文件被编译的日期__TIME__ //文件被编译的时间__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义__FUNCTION__ //当前函数的名称这些预定义符号都是语言内置的。语法:1000register//为 register这个关键字,创建一个简短的名字for;;//用更形象的符号来替换一种实现break;case。原创 2023-11-30 13:54:48 · 866 阅读 · 0 评论 -
12_C语言文件操作
磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。流的介绍。原创 2023-11-30 13:37:18 · 966 阅读 · 0 评论 -
应用文件改造通讯录
【代码】应用文件改造通讯录。原创 2023-11-28 13:45:16 · 1520 阅读 · 0 评论 -
11_动态内存管理
/size的单位是字节这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针如果开辟成功,则返回一个指向开辟好空间的指针如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查(申请空间过大可能失败)返回值的类型是void*,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定如果参数size为0,malloc的行为是标准未定义的,取决编译器。原创 2023-11-28 13:42:42 · 1029 阅读 · 1 评论 -
通讯录实现
【代码】通讯录实现。原创 2023-11-11 13:03:24 · 103 阅读 · 0 评论 -
10_自定义类型结构体,枚举,联合
int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋初值。struct Stu //类型声明//名字int age;//年龄//初始化//也可以乱序初始化struct Stu s = {.age=18, .name="如花"};int data;//结构体嵌套初始化//结构体嵌套初始化。原创 2023-11-11 12:59:40 · 196 阅读 · 1 评论 -
9_字符函数和字符串函数
字符串以’\0’作为结束标准.strlen函数的返回的是在字符串中’\0’前面出现的字符个数(不包含’\0’)参数指向的字符串必须要以 ‘\0’ 结束。注意函数的返回值为size_t,是无符号的( 易错 )学会strlen函数的模拟实现//法一:计数器count++;str++;//法二:函数递归if (*str!//法三:指针减指针。原创 2023-10-24 01:00:00 · 66 阅读 · 0 评论 -
8_指针的进阶
指针的进阶一. 字符指针1. 形式字符指针 char*2. 使用方式一般使用int main(){ char ch = 'w'; char *pc = &ch; *pc = 'w'; return 0;}另一种使用方式int main(){ const char* pstr = "hello bit.";//这里是把一个表达式首字母的地址放到pstr指针变量里了 printf("%s\n", pstr); return 0;}3. 一道面试题原创 2023-10-20 16:39:12 · 238 阅读 · 0 评论 -
7_深度剖析数据在内存中的存储
int *pi;char *pc;float* pf;void* pv;//无具体类型指针大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,保存在内存的高地址中;原创 2023-09-27 10:53:57 · 237 阅读 · 1 评论 -
6_结构体详解
①全部初始化②指定成员初始化。原创 2023-09-14 00:30:00 · 179 阅读 · 1 评论 -
5_指针详解
type + *其实:char* 类型的指针是为了存放 char 类型变量的地址。short* 类型的指针是为了存放 short 类型变量的地址。int* 类型的指针是为了存放 int 类型变量的地址。原创 2023-09-13 08:08:46 · 176 阅读 · 1 评论 -
4_操作符详解
逻辑反操作- 负值+ 正值& 取地址sizeof 操作数的类型长度(以字节为单位)~ 对一个数的二进制按位取反(即全部取反:符号位+数值位)-- 前置、后置--++ 前置、后置++* 间接访问操作符(解引用操作符)(类型) 强制类型转换逻辑取反取地址操作数类型长度~ 对一个数的二进制按位取反++和–口诀:前置++,先+1后使用后置++,想使用后+1。原创 2023-09-10 19:00:47 · 184 阅读 · 1 评论 -
3_数组详解+三子棋和扫雷练习
C语言本身是不做数组下标的越界检查,编译器也不一定报错,但是编译器不报错,并不意味着程序就是正确的,所以程序员写代码时,最好自己做越界的检查。数组在创建的时候如果想不指定数组的确定的大小就得初始化。所以数组的下标如果小于0,或者大于n-1,就是数组越界访问了,超出了数组合法空间的访问。数组的下规定是从0开始的,如果数组有n个元素,最后一个元素的下标就是n-1。数组的初始化是指,在创建数组的同时给数组的内容一些合理初始值(初始化)。随着数组下标的增长,元素的地址,也在有规律的递增。数组的下标是有范围限制的。原创 2023-09-06 12:04:32 · 132 阅读 · 1 评论 -
函数栈帧的创建与销毁详解
原创 2023-09-01 15:06:55 · 91 阅读 · 1 评论 -
2_函数详解
自定义函数和库函数一样,有函数名,返回值类型和函数参数。但是不一样的是这些都是我们自己来设计。这给程序员一个很大的发挥空间。告诉编译器有一个函数叫什么,参数是什么,返回类型是什么。但是具体是不是存在,函数声明决定不了。函数的声明一般出现在函数的使用之前。要满足先声明后使用。函数的声明一般要放在头文件中的标准库中的头文件用尖括号引出,自己定义的头文件用引号引出函数的定义是指函数的具体实现,交待函数的功能实现。函数的定义本来就是一种特殊的声明,在主函数前定义不需要声明.原创 2023-09-01 14:59:41 · 83 阅读 · 1 评论 -
详解1_分支和循环语句
C语言语句可分为以下5种:1.表达式语句2.函数调用语句3.控制语句4.复合语句5.空语句下面介绍的都是控制语句控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,C语言有九种控制语句。原创 2023-08-28 13:17:39 · 112 阅读 · 1 评论
分享