![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言进阶
文章平均质量分 94
c语言进阶内容
随风张幔
这个作者很懒,什么都没留下…
展开
-
c语言进阶-第1节-数据的存储
1. 数据类型介绍char //字符数据类型 short //短整型 int //整形 long //长整型 long long //更长的整形 float //单精度浮点数 double //双精度浮点数 c99中引入了布尔类型: _Bool,其作用是存储真假值,如下图所示(图中true就是1,false就是0)(其实基本上用不到布尔类型,因为i...原创 2021-11-24 11:38:47 · 699 阅读 · 0 评论 -
c语言进阶-第2节-指针
1.字符指针1.1.字符指针int main(){ //1 char ch='w'; char* p=&ch; //2 char* p="abcdef"; *p='w'; //该语句错误 //3 const char* p="abcdef"; return 0;}注:1.代码1是建立变量ch,ch变量空间里面存放字符'w';定义指针变量里面存放变量ch的地址,使指针变量p可以指向变量ch的空间原创 2022-01-16 00:54:40 · 528 阅读 · 0 评论 -
c语言进阶-第3节-字符函数和字符串函数
1.函数介绍1.1.strlen函数1.1.1.strlen函数介绍size_t strlen ( const char * str ); 1.字符串以'\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前面出现的字符个数(不包含 '\0' )2.参数指向的字符串必须要以 '\0'结束。3.注意函数的返回值为size_t,是无符号的( 易错 )代码:#include<stdio.h>#include&l...原创 2022-01-24 12:02:14 · 559 阅读 · 0 评论 -
c语言进阶-第4节-自定义类型:结构体,枚举,联合
1.结构体结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。1.1.结构体类型的声明1.1.1.结构的声明struct tag { member-list; }variable-list;注:1.tag:结构体标签或结构体名字2.member-list:成员列表,每一个成员为一个成员变量3.variable-list:变量列表(变量列表有没有都可以)结构声明的例子:#include<stdio.h&...原创 2022-01-27 17:11:36 · 1238 阅读 · 0 评论 -
c语言进阶-第5节-动态内存管理
1. 为什么存在动态内存分配我们已经掌握的内存开辟方式有: int val = 20;//在栈空间上开辟四个字节 char arr[10] = {0};//在栈空间上开辟10个字节的连续空间但是上述的开辟空间的方式有两个特点: 1. 空间开辟大小是固定的。 2. 数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。 但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道,那数组的编译时开辟空间的方式就不能满足了。 这原创 2022-02-06 14:52:19 · 3578 阅读 · 0 评论 -
c语言进阶-第6节-c语言文件操作
1.为什么使用文件我们前面学习结构体时,写了通讯录的程序,当通讯录运行起来的时候,可以给通讯录中增加、删除数据,此时数据是存放在内存中,当程序退出的时候,通讯录中的数据自然就不存在了,等下次运行通讯录程序的时候,数据又得重新录入,如果使用这样的通讯录就很难受。 我们在想既然是通讯录就应该把信息记录下来,只有我们自己选择删除数据的时候,数据才不复存在。这就涉及到了数据持久化的问题,我们一般数据持久化的方法有,把数据存放在磁盘文件、存放到数据库等方式。 使用文件我们可以将数据直接存放在电脑的硬盘上原创 2022-02-23 18:06:09 · 940 阅读 · 0 评论 -
c语言进阶-第7节-程序环境和预处理
1. 程序的翻译环境和执行环境在ANSI C(遵循美国国家标准总局定义的c语言标准的c语言)的任何一种实现中,存在两个不同的环境。 第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令第2种是执行环境,它用于实际执行代码test.c里面存的是c语言的源代码test.exe是二进制文件,里面存的是二进制指令/机器指令(机器能够读懂的是二进制,二进制指令是机器能够读懂的,因此也叫机器指令)翻译环境就是将test.c中的c语言的源代码翻译成test.exe中机器能够读懂的二进原创 2022-02-25 11:28:55 · 945 阅读 · 0 评论 -
c语言补充篇-函数栈帧的创建和销毁
寄存器分为eax、ebx、ecx、edx、ebp和esp其中ebp和esp这两个寄存器中存放的是地址,这两个地址是用来维护函数栈帧的#include<stdio.h>int Add(int x,int y){ int z=0; z=x+y; return z;}int main(){ int a=10; int b=20; int c=0; c=Add(a,b); printf("%d\n",c)...原创 2022-02-11 18:31:33 · 620 阅读 · 0 评论