
C
文章平均质量分 50
C语言
u013250861
这个作者很懒,什么都没留下…
展开
-
C知识点:初始化二维数组
动态分配内存方式构建数组,把malloc函数改用成calloc函数。原创 2022-11-20 21:30:11 · 376 阅读 · 0 评论 -
C语言:一维数组的创建、初始化
数组的定义:在C语言中有各种数据类型,而每一种数据类型都有相对应的数据元素,这些元素可以组成一个团体,一个集合,从而有了数组概念。数组也有三要素:数组元素类型, 数组名称, 数组大小。const_n 是一个常量或者常量表达式,用来指定数组的大小以上为代码的创建形式,我们最常用的数组类型就是int,char,float型。但对于代码2的创建来说,它涉及到一个“可变长数组”名词概念。原创 2022-11-20 21:52:19 · 1400 阅读 · 0 评论 -
C/C++动态开辟数组【C++:new/delete(推荐):int *arr = new int[m];】【C++:vector】【C:malloc() & free()】
打印结果:2、动态开辟二维数组3、动态开辟数组、释放空间3.1 动态开辟数组3.2 释放空间当不再需要一个动态分配的多维数组时,可按以下步骤释放它所占用的空间。3.3 案例打印结果:C语言 中malloc()函数的标准形式C++ 中free()函数的标准形式注意引用头文件stdlib.h因为数组中必须为常量表达式,如果不是,则此时无法成功创建数组这时便可以使用动态开辟的方法解决该问题。补充说明打印结果:特点打印结果:特点打印结果:特点参考资料:c语言动态开辟原创 2022-06-16 23:51:28 · 3675 阅读 · 0 评论 -
C基础:静态库(所有相关的目标文件与牵涉到的函数库被链接合成一个可执行文件)、动态库(windows系统中的.dll文件)的封装和使用
库是已经写好的、成熟的、可复用的代码。每个程序都需要依赖很多底层库,不可能每个人的代码从零开始编写代码,因此库的存在具有非常重要的意义。在我们的开发的应用中经常有一些公共代码是需要反复使用的,就把这些代码编译为库文件。库可以简单看成一组目标文件的集合,将这些目标文件经过压缩打包之后形成的一个文件。像在Windows这样的平台上,最常用的c语言库是由集成按开发环境所附带的运行库,这些库一般由编译厂商提供。在mylib.c文件中添加如下代码:配置项目属性。因为这是一个静态链接库,所以应在项目属性的“原创 2022-06-06 22:24:01 · 196 阅读 · 0 评论 -
C基础语法:栈【栈区的内存自动申请自动释放,不需要手动管理】、堆【堆的内存成员(定义变量时一定要初始化,很多bug就是没有初始化引起的)需要手动申请malloc(),手动释放free()】
栈是由编译器在需要时分配的,不需要时自动清除的变量存储区。里面的变量通常是局部变量、函数参数等。堆是由malloc()函数(C++语言为new运算符)分配的内存块,内存释放由程序员手动控制,在C语言为free函数完成(C++中为delete)。栈和堆的主要区别有以下几点:管理方式不同。栈编译器自动管理,无需程序员手工控制;而堆空间的申请释放工作由程序员控制,容易产生内存泄漏。空间大小不同。是否产生碎片。增长方向不同。分配方式不同。分配效率不同。参考资料:C语言中堆与栈的区别......原创 2022-06-06 21:49:17 · 1386 阅读 · 0 评论 -
C基础语法-关键字:sizeof【告诉我们编译器为某一特定数据或者某一个类型的数据在内存中分配空间时分配的大小,大小以字节为单位】【返回的数据结果类型是unsigned int】
sizeof是c语言中的一个操作符,类似于++、–等等。sizeof能够告诉我们编译器为某一特定数据或者某一个类型的数据在内存中分配空间时分配的大小,大小以字节为单位。基本语法:sizeof 注意点:............原创 2022-06-06 21:20:13 · 210 阅读 · 0 评论 -
C基础语法-关键字:void【void不能定义变量,因为编译器不知道该分配多少内存;void*可以定义指针为无类型指针】【void * 主要用于数据结构的封装】
void字面意思是”无类型”,void* 无类型指针,无类型指针可以指向任何类型的数据。void定义变量是没有任何意义的,当你定义void a,编译器会报错。void真正用在以下两个方面:原创 2022-06-06 21:08:52 · 965 阅读 · 0 评论 -
C基础语法-关键字:typedef【发生在编译阶段;仅限于数据类型,而不能是表达式或具体值;为数据类型(基本类型或自定义数据类型)定义新名字,不能创建新类型】【作用:设置全局自定义类型】
typedef为C语言的关键字,作用是为一种数据类型(基本类型或自定义数据类型)定义一个新名字,不能创建新类型。打印结果:原创 2022-06-06 20:38:12 · 254 阅读 · 0 评论 -
C基础语法-关键字:#define【发生在预处理】
typedef为C语言的关键字,作用是为一种数据类型(基本类型或自定义数据类型)定义一个新名字,不能创建新类型。打印结果:原创 2022-06-05 13:52:01 · 270 阅读 · 0 评论 -
C基础语法:字符串处理函数【strstr()、strcpy()、strncpy()、strcat()、strncat()、strcmp()、strncmp()、sprintf()、sscanf()】
功能:在字符串haystack中查找字符串needle出现的位置参数:返回值:二、strcpy()功能:把src所指向的字符串复制到dest所指向的空间中,'\0’也会拷贝过去参数:返回值:注意:如果参数dest所指的内存空间不够大,可能会造成缓冲溢出的错误情况。打印结果:打印结果:三、strncpy()功能:把src指向字符串的前n个字符复制到dest所指向的空间中,是否拷贝结束符看指定的长度是否包含’\0’。参数:返回值:打印结果:四、strcat()功能:将src字符串连接到原创 2022-06-05 09:52:26 · 140 阅读 · 0 评论 -
C语言基础:【int=4字节(Byte)】【1K=1024B】【1字节(Byte)=8比特(bit)】【1比特(bit)=1位】【比特(bit)指的是二进制中的一位(0/1),是二进制最小信息单位】
1字节(Byte)就相当于8位(bit)比特(Bit),也就是我们所说的二进制位。比特指的是二进制中的一位,是二进制最小信息单位。1比特就等于1位。字节(Byte):通常情况下会把表示常用英文字符8位二进制叫做一字节。一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。然后还有符号:英文标点2占一个字节,中文标点占两个字节。在现代操作系统中,int一般(注意,是一般)占用4个字节(Byte)的内存,共32位(bit)。如果不考虑正负数,当所有位都为1时,他的值最大,为232≈43亿。这原创 2022-06-04 18:12:18 · 8803 阅读 · 0 评论 -
C语言基础:查看可执行文件的依赖关系【Windows:dependency walker软件】【Linux:ldd命令】
Dependency Walker是一个免费的实用工具,它可以扫描任何32位或64位Windows模块(EXE,DLL,OCX,SYS等),并建立所有相关模块的分层树形图。Dependency Walker对于排除加载和执行模块故障错误非常有用。 Dependency Walker能检测出许多常见应用问题,例如缺少模块,无效的模块,导入/导出不匹配,循环依赖错误,不匹配的机器类型模块和模块初始化失败。所以对于程序员来说,Dependency Walker(以下简称Depends)是一项必备技能。参考资料:原创 2022-06-04 15:15:42 · 643 阅读 · 0 评论 -
Linux C++、VC++ 【Linux C++:Linux上基于GNUC++编译器(g++)实现的C++标准】【VC++ :基于Windows下Visual C++所实现的C++标准,由微软主导】
Linux C++指GNUC++,即Linux上基于GNUC++编译器(g++)实现的C++标准,由开源社区主导GNU( GNU‘s Not Unix! )主导,主张开源免费运动或组织VC++指基于Windows下Visual C++所实现的C++标准,由微软主导差异体现在两者实现的细节上(各自有定制化的规则),和对于新标准实现的支持程度。由于两者是针对不同系统使用场景,也因此不同标准下的实现和存在对不同平台引用的关系,造成两者移植是个问题,需要编写代码的人避开差异等各种方式才可以实现无缝移植基于A原创 2022-05-28 22:44:31 · 411 阅读 · 0 评论 -
C/C++基础:Visual Studio(基于Windows的C++)【比CMake(基于Linux系统)高级的编译器(Level-3)】
去看C++资料的时候,一定不要看VC,就是基于windows的C++,就是用Visual Studio 2019(Level3)。Linux C++:就是基于Linux系统,使用g++、gcc(Level0)、Makefile(Level1)、CMake(Level2)Linux C++中 一定得有主函数,而且一定必须是返回int (如果你是用的VC,那么可以返回值不是int)...原创 2022-05-28 13:58:16 · 258 阅读 · 0 评论 -
进程与线程
一、进程我们都知道计算机的核心是CPU,它承担了所有的计算任务,而操作系统是计算机的管理者,它负责任务的调度,资源的分配和管理,统领整个计算机硬件;应用程序是具有某种功能的程序,程序是运行于操作系统之上的。进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标准定义。进程一般由程序,数据集合和进程控制块三部分组成。程序用于描述进程要完成的功能,是控制进程执行的指令集;数据集合是程序原创 2022-04-13 23:15:00 · 120 阅读 · 0 评论