![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
康康伴你看视界
回顾以往,见证此刻,改变未来!
展开
-
c++能够向下兼容c的原理
c++向下兼容c的原理原创 2022-08-06 13:32:18 · 438 阅读 · 0 评论 -
fopen的使用
1, fopen() 的使用,在linux环境下,我们可以使用man fopen查看使用说明:#include <stdio.h>FILE *fopen(const char *path, const char *mode);path 是指文件路径。mode 含义如下:r 只读方式打开一个文本文件,流指向文件头w 只写方式打开一个文本文件,流指向文件头。若文件存在,就清空内容a 追加方式打开一个文本文件,流指向文件尾。若文件不存在,就新建一个r+ 可读可写方式打开一个原创 2021-08-06 10:11:05 · 1258 阅读 · 0 评论 -
strcmp()
C语言 strcmp() 函数用于对两个字符串进行比较(区分大小写)。头文件:string.h语法/原型:int strcmp(const char* stri1,const char* str2);参数 str1 和 str2 是参与比较的两个字符串。strcmp() 会根据 ASCII 编码依次比较 str1 和 str2 的每一个字符,直到出现不到的字符,或者到达字符串末尾(遇见\0)。返回值:如果返回值 < 0,则表示 str1 小于 str2。如果返回值 > 0,则原创 2021-01-11 17:48:38 · 981 阅读 · 0 评论 -
C语言预处理实战
头文件件包含1.1 #include <> 和 #include"“的区别:<>专门用来包含系统提供的头文件(就是系统自带的,不是程序员自己写的),”"用来包含自己写的头文件;更深层次来说:<>的话C语言编译器只会到系统指定目录(编译器中配置的或者操作系统配置的寻找目录,譬如在ubuntu中是/usr/include目录,编译器还允许用-I来附加指定其他的...原创 2019-11-05 14:06:27 · 130 阅读 · 0 评论 -
C语言预处理
由源码可执行程序过程源码.c->(预处理)->预处理过的.i文件->(编译)->生成汇编文件.s->(汇编)->目标文件.o->(链接)->elf可执行文件这个过程使用到了预处理器;编译器;汇编器;链接器;再加上其他一些额外的会用到的可用工具,合起来叫编译工具链。GCC就是一个编译工具链。预处理的意义2.1 编译器本身的主要目的是编译源代码...原创 2019-11-05 11:01:39 · 107 阅读 · 0 评论 -
制作静态链接库和动态链接库
自己制作静态链接库首先使用gcc -c只编译不连接,生成.o文件,然后使用ar工具进行打包成.a归档文件。1.1 建立一个源文件和头文件原创 2019-11-04 16:54:16 · 190 阅读 · 0 评论 -
静态链接库和动态链接库
比较早出现的是静态链接库。静态库其实就是商业公司将自己的函数库源代码经过只编译不连接形成.o的目标文件,然后用ar工具将.o文件归档成.a的归档文件(.a的归档文件又叫静态链接库文件)。商业公司通过发布.a库文件和.h头文件来提供静态库给客户使用;客户拿到.a和.h文件后,通过.h头文件得知库中的库函数的原型,然后在自己的.c文件中直接调用这些库文件,在连接的时候链接器会去.a文件中拿出被调用...原创 2019-11-04 13:59:28 · 148 阅读 · 0 评论 -
strchr
功能: 查找字符串s中首次出现c字符的位置说明: 返回首次出现c的位置的指针,返回的地址是被查找的字符串指针开始的第一个与c相同字符的指针,若s中不存在c则返回NULL。。。。返回值: 成功返回要查找的字符第一次出现的位置,否则返回NULL。。。。#include <stdio.h>#include <string.h>int main(void){ ...原创 2019-11-01 17:55:55 · 125 阅读 · 1 评论 -
strcmp/strncmp
strcmp的原型翻译string compare,作用:字符串比较,而且仅限于字符串大小的比较;原型:int strcmp(const char *s1, const char *s2);返回值:s1 = s2 ret = 0s1 > s2 ret = 1s1 < s2 ret = -1实例:在这里插入代码片...原创 2019-11-01 15:56:58 · 658 阅读 · 0 评论 -
共用体union
共用体的定义:变量定义和使用1.1 共用体union和结构体struct在类型定义,变量定义,使用方法上很相似。1.2 共用体和结构体的不同:结构体类似于一个包裹,结构体中的成员彼此独立存在,分布在内存的不同单元,它们只是被打包成一个整体叫做结构体而已。共用体中的各个成员其实是一体的,彼此不独立,它们使用同一个内存单元,同一个内存空间由多种解释方式。union的sizeof测到的大小实际...原创 2019-11-01 09:35:19 · 150 阅读 · 0 评论 -
结构体的对齐访问
举列说明什么是结构体对齐访问1.1 结构体中元素的访问其实本质上还是用指针方式,结合这个元素在整个结构体中的偏移量和这个元素的类型来进行访问的。1.2 实际上结构体的元素的偏移量比我们上节讲的还要复杂,因为结构体要考虑元素的对齐访问,所以每个元素时间占的字节数和自己本身的类型所占的字节数不一定完全一样。(譬如char c实际占字节数可能是1,也可以是2,也可能是3,也可以能4····)...原创 2019-10-30 13:42:17 · 224 阅读 · 0 评论 -
代码段、数据段、bss段
编译器在编译程序的时候,将程序中的所有的元素分成了一些组成部分,各部分构成一个段,所以说段是可执行程序的组成部分。代码段:代码段就是程序中的可执行部分,直观理解代码段就是函数堆积组成的。数据段(也被称为数据区、静态数据区、静态区):数据段就是程序中的数据,直观理解就是C语言程序中的全局变量。(注意:全局变量才算是程序的数据,局部变量不算程序的数据,只能算是函数的数据)...原创 2019-10-28 16:28:18 · 1565 阅读 · 0 评论 -
内存泄漏
一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程式从堆中分配的,大小任意的(内存块的大小能够在程式运行期决定),使用完后必须显示释放的内存。应用程式一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程式必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。Linux 内存监控内存泄露的危害从用户使用程式...原创 2019-10-25 17:37:44 · 90 阅读 · 0 评论 -
内存的理解
内存由三种来源:栈(stack),堆(heap),数据区(.data)原创 2019-10-25 14:43:09 · 141 阅读 · 0 评论 -
list使用
链表概述链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。链表有一个“头指针”变量,图中是以head来表示,它存放一个地址,该地址指向一个元素。链表中每个元素称为“结点”。每个结点包括两部分:用户需要用的实际数据和下一个节点地址。...原创 2019-10-23 16:16:05 · 81 阅读 · 0 评论 -
字符检索机制函数
strstr头文件:#include <string.h>strstr()函数用来检索子串在字符串中首次出现的位置,其原型为:char *strstr( char *str, char * substr );【参数说明】str为要检索的字符串,substr为要检索的子串。【返回值】返回字符串str中第一次出现子串substr的地址;如果没有检索到子串,则返回NULL。【函...原创 2019-10-22 14:21:59 · 143 阅读 · 0 评论 -
2.算法-程序的灵魂
1.什么是算法:一个程序包含两方面的内容;第一 对数据的描述,在程序中要指定数据类型和数据的组成形式,即数据结构。第二对操作的描述,即操作步骤,也就是算法(algorithm)程序 = 算法 + 数据结构;如:做菜肴,菜谱上一般包括:(1)配料,指出那些原材料(2)操作步骤,指出如何使用这些原材料按规定的步骤加工成所需的菜肴;作为程序员必须认真考虑和设计数据结构和操作步骤(步骤即算法)。...原创 2019-07-24 17:05:07 · 295 阅读 · 0 评论 -
3.数据类型,运算符,表达式
1 C语言的数据类型List item | 短整型 &nb...原创 2019-07-26 11:12:47 · 99 阅读 · 0 评论 -
4.顺序程序设计
语句和表达式的区别与联系表达式 运算符和运算对象连接起来称为表达式;C语句 是指表达式加上“;”就构成了一个语句。例如: a = 5 // 这是一个表达式a = 5; // 这是一个语句...原创 2019-07-26 16:37:04 · 143 阅读 · 0 评论 -
指针的理解
指针到底是什么1.1 首先必须明确:指针的实质就是变量,它跟普通变量没有任何本质的区别,指针完整的名称应该叫指针变量,简称指针。指针变量存储的是另一个变量的“地址”,而不是用来随意存一些int类型的数。(指针只是存储地址)...原创 2019-09-03 13:44:30 · 177 阅读 · 0 评论 -
C语言配置文件解析库——iniparser
C语言配置文件解析库——iniparser1.1.1前言:在对项目的优化时,发现Linux下没有专门的供给C语言使用的配置文件函数,于是搜索到了iniparser库,可以像那些面向对象语言一样,使用ini文件进行参数配置。1.2 介绍iniparser是针对INI文件的解析器。ini文件则是一些系统或者软件的配置文件。iniparser库有四种下载方式:1.2.1官方网站1.2.2....转载 2019-09-04 09:40:07 · 650 阅读 · 0 评论