前言 最近领了一个小任务,不能调用API,用C语言实现ini配置文件的读写,增删改查。一下是文件思路,相关代码片段。只是主体函数结构,功能性函数进行了说明,并没有详细到语句。...随后会对小程序继续修改,一些功能增加,文本的对话框选择。 实现思路 程序流程:1、输入文件路径,存在文件打开,不存在选择是否创建。 2、文本内容的获取,将文本流存入内存中,随后对文本流操作。...文件读取,将文本内容写入到对应容器当中,利用元素结构,快捷的实现对文本内容的相关操作。...,主要包括文件的创建、增、删、改、查。...\n"); printf("\t增:主要有元素节点的增加、元素子相的增加。 \n\t删:主要有元素节点得到删除、元素子相节点的删除。
近期有一些新关注的伙伴在后台经常留言刚入门 C语言 我该选择什么 C语言 编辑器好呢?都说欲善其事必先利其器,网络上也有很多不同类型的编辑器,让人很难进行抉择!C语言 编辑器选择哪个好?...所以我今天根据我个人的使用情况,整理了几款C语言编辑器分享给大家(文末留了获取方式),需要的看官看下文了解一下哟~ 一、Dev-C++ 先说一下 VC++6.0 和大多数人一样 C语言 刚入门的时候使用的是...在一次参加省级比赛的时候接触了 dev-c++ 感觉顿时发现了新大陆,代码补齐,代码高亮提醒,支持c++11 标准,重要的可以自己设计语言,英语困难户的福音。...提供高亮度语法显示的,以减少编辑错误,还有完善的调试功能。 是一个初学者 C/C++ 的编译器首选。(编译器获取方式在文末) 当然这个编译器只是适合比较小的轻量级的集成编译器。...介绍完这两个 PC端 使用的 IDE 也有不少人不能时时都在使用电脑,还有一个手机能都写 C/C++语言 的代码编辑器。 C4drioid Q:c4droid是什么?
什么是C语言 人和人交流使用的是自然语言,就像是汉语、英语、日语。 那人和计算机是怎么交流的呢? 使用计算机语言。...目前已知已经有上千种计算机语言,人们们是通过计算机语言写的程序,给计算机下达指令,让计算机工作的。 C语言就是众多计算机语言中的⼀种,当然C++/Java/Go/Python都是计算机语言。...3.1 编译和链接 C语言是一门编译型计算机语言,C语言源代码都是文本文件,文本文件本身无法执行,必须通过编译器翻译和链接器的链接,生成二进制的可执行文件,可执行文件才能执行。...msvc、clang、gcc是通过命令来编译代码的,不方便。 集成开发环境(IDE)用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。...C语言把 .c 为后缀的文件称为源文件,把 .h 为后缀的文件称为头文件。 5.
C99 , C11 , C17 等标准 , 以满足新的编程需求 ; 二、C 语言缺陷 C 语言有如下缺陷 : C 语言 没有经历过 缜密的 设计过程 , 都是根据需求逐渐完善的 , 出现了很多缺陷和漏洞...+ 高级语言特性 1、C 语言衍生的高级语言 鉴于 上述 面向过程 的 C 语言 的 设计缺陷 , 在 C 语言 的基础上 , 引入 面向对象 设计方法 , 同时加入 高级语言特性 , 开发出了 高级面向对象...2、C 语言与 C++ 语言关系 C 语言 与 C++ 语言 并 不是 竞争关系 ; C++ 语言 是 以 C 语言为基础 的 加强版本编程语言 , 可以看作是更好的 C 语言 , 在 C++ 语言...中 , 可以使用 C 语言语法 , 对 C 语言完全兼容 ; C++ 语言 包含 C 语言 , 在 C++ 代码中可以使用 C 语言的语法 , 但是在 C 语言中不能使用 C++ 的语法 ; 3、C++...语言应用场景 C 语言 和 C++ 语言的应用场景 : C语言 应用场景 : 系统软件、操作系统、编译器等 底层系统级应用 ; C++ 语言 应用场景 : 大型应用程序、游戏 等更 高级的应用 ; 在不同的
下面以windows环境下的test.c为例,test.c里的代码为: #include int main(void) { printf("This is a test program...如图,编译生成可执行文件的过程实际包含四个过程:(1)预处理;(2)编译;(3)汇编;(4)链接。...2、预处理(Preprpcessing) 使用预处理器把源文件test.c经过预处理生成test.i文件,预处理用于将所有的#include头文件以及宏定义替换成其真正的内容。...预处理的命令为: gcc -E test.c -o test.i 上述命令中-E是让编译器在预处理之后就退出,不进行后续编译过程;-o是指定输出文件名。 预处理之后得到的仍然是文本文件。...汇编过程的命令为: gcc -c test.s -o test.o 上述命令中-c、-o让汇编器把汇编文件test.s转换成目标文件test.o。
每天花三分钟学习一个C语言知识。 问题2 请解释C语言中的递归。你可以给出一个递归的例子吗? 参考答案 递归是指函数调用自身的过程。...在C语言中,递归函数是一种非常有用的编程技巧,它可以将一个大问题分解成一个或多个相同类型的子问题,然后通过不断调用自身来解决这些子问题,最终得到问题的解。...基本情况是递归函数中的停止条件,当满足基本情况时,递归函数将不再调用自身,递归过程结束。递归调用是指递归函数在执行过程中,通过调用自身来解决子问题。...下面是一个简单的递归函数的例子,用于计算一个正整数的阶乘: #include int factorial(int n) { // 基本情况 if (n == 0 || n...否则,函数通过调用自身来计算n-1的阶乘,并将结果与n相乘,最终得到n的阶乘。 需要注意的是,在使用递归时,必须确保递归调用最终会遇到基本情况,否则递归将进入无限循环,导致堆栈溢出。
每天花三分钟学习一个C语言知识。 问题1 C语言中的空指针是什么?为什么我们需要它? 参考答案 空指针是指不指向任何有效内存地址的指针,在C语言中用NULL来表示。...NULL是一个预定义的宏,它的值通常为0或者((void *)0)。 我们需要空指针的原因是: 空指针在C语言中具有重要作用。...初始化指针变量:在定义指针变量时,我们可以将其初始化为NULL,表示该指针变量当前不指向任何有效的内存地址。这样做可以避免指针未经初始化的问题,确保程序的可靠性。...防止野指针:野指针是指指向未知或无效内存地址的指针。使用野指针可能导致程序崩溃或产生不可预料的行为。...动态内存分配:在C语言中,我们经常使用malloc()等函数动态分配内存。当内存分配失败时,malloc()函数会返回一个空指针,我们可以通过检查返回的指针是否为NULL来判断内存分配是否成功。
每天花三分钟学习一个C语言知识。 问题3 解释一下什么是C语言中的动态内存分配,以及如何使用malloc()和free()函数。 参考答案 动态内存分配是在程序运行时分配内存的过程。...在C语言中,我们通常使用malloc()、calloc()和realloc()函数来动态分配内存,而使用free()函数来释放已分配的内存。...malloc()函数是用来动态分配指定字节数的未初始化的内存空间。它的函数原型是: void* malloc(size_t size); 其中,size参数表示要分配的字节数。...malloc()函数返回一个指向被分配的内存空间的指针,如果分配失败,则返回NULL。...free()函数的原型是: void free(void* ptr); 其中,ptr参数是指向要释放的内存空间的指针。
(1)语法 int getchar(void); (2)返回值 getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符...,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键。...函数的值,如果有循环或足够多的getchar语句,就会依次读出缓冲区内的所有字符直到’\n’.要理解这一点,之所以你输入的一系列字符被依次读出来,是因为循环的作用使得反复利用getchar在缓冲区里读取字符...,而不是getchar可以读取多个字符,事实上getchar每次只能读取一个字符.如果需要取消’\n’的影响,可以用getchar()来清除,如:while((c=getchar())!...补充: putchar()的用法: (1)输出:putchar函数只能用于单个字符的输出,向终端输出一个字符,且一次只能输出一个字符。
C语言的开发场景: 应用软件 主要包含各种软件如:QQ,百度网盘,游戏 (上层) 操作系统 windows/macOS/Linux (下 电脑硬件 ...层) C语言是一个擅长底层开发的语言。...而C语言的主要编译器有:Clang/GCC/MSVS。...通过sizeof可以计算出每种类型的大小 eg:printf("%d\n",sizeof(char)); 变量与常量: 变量的命名:一定不能以简单的一两个字母来表示,最好是使用符合其内涵的英文单词来命名...4.变量名中区分大小写 5.变量名不能使用关键字(如不能使用int作变量名) 变量的分类:局部变量/全局变量 1.在大括号外的就是全局变量,在大括号里的就是局部变量 2.当全局变量和局部变量冲突时,局部变量优先
今天推荐一个函数库glib 注意不是glibc https://developer.gnome.org/glib/ 一直在抱怨,标准C中为什么没有类似于STL的标准容器,让全世界的程序员在数以万次的重复实现它们...glib提供了动态数组、单/双向链表、哈希表、多叉树、平衡二叉树、字符串等常用容器,完全是面向对象设计的,实现得非常精致。 你开发过跨硬件平台的软件吗?是不是常常为硬件平台的差异而苦恼呢?...字节顺序是常见的问题之一,大端格式,小端格式,还是PDP格式的?这样差异造成的BUG会浪费不少时间,同时让代码晦涩难读。glib提供了一套完整的宏,利用这些宏编写程序,问题大大简化了。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
本月的TIOBE 编程语言社区排行榜又来了,小伙伴们期待不? 本月TIOBE 编程语言社区排行榜,Java、C 和 C++ 占据 Top 3,Python 提升到第 4 位。...约 10 年前,前 8 语言占据了 80% 的比例,现在减少到了 55%,这表明集中使用几种编程语言的时代已经过去,编程语言正在走向多样化。...首先可能有的小伙伴不知道,老九君就多说几句: TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员、 课程和第三方厂商的数量。...排名使用著名的搜索引擎(诸如 Google、MSN、Yahoo!、Wikipedia、YouTube 以及 Baidu 等)进行计算。 这个排行榜可以用来考查你的编程技能是否与时俱进。...也可以在开发新系统时,作为选择编程语言的参考依据。 编程语言排行榜 TOP 20 ? ? Top 10 编程语言走势图 ? 以下是Top 21-50 ? ?
大家好,又见面了,我是你们的朋友全栈君。...文章目录 文件打开与关闭 文件读写操作 读/写文件中的字符串 格式化读写文件操作 文件定位函数 作业使用案例(自己可以全部完成一遍): 文件打开与关闭 C文件操作用库函数实现,包含在stdio.h中。...fread与fwrite 一般调用形式: fread(buffer,size,count,fp ); fwrite(buffer,size,count,fp ); 参数说明: buffer: 要读入的数据块的存放首地址或要输出的数据块的起始地址...size: 每个要读/写的数据块的大小(字节数) count: 要读/写的数据块的个数 fp: 要读/写的文件指针 返回值: 成功,返count的值;出错或文件尾,0值。...20190410001"; int age = 17; fprintf(fp, "%s\t%s\t%d\n", name, no, age); fclose(fp); return 0; } 文件定位函数 C语言规定的起始位置有三种
C-Free编辑器 这几天在网上看视频发现一个新的C语言的IDE——C-free ? C-Free是一款支持多种编译器的专业化C/C++集成开发环境(IDE)。说白了就跟VC++一样。...不过它比较小巧(只有10多M,比较小巧的IDE还有DEV C++.不过devc++的调试功能让我蛋碎),功能却比较强大,不用装插件也有VisualAssistX一样强大的配色。...特别的,c-free还可以选择使用什么编译器来编译(如图) (如果你的电脑装了vcvs才会有vc6.0或后面那个,如果没装只有第一个mingw,那是cfree软件自带的编译器) ?...现在的Visual studio变得越来越庞大(安装文件有好几个G,安装一个需要一个多小时),功能越来越强(可以编译很多种语言)。但对于大部分初学则来说并用不上。...但devc++又满足不了调试的需要,我们的C-free却弥补了这些不足。 最后说一下……我觉得这个名字取得很有问题,cfree,cfree,却不是free软件。
前言 内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。 所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是一个字节。...计算机的 存储器 容量是以 字节 为最小单位来计算的,对于一个有128个存储单元的存储器,可以说它的容量为128字节。...如果有一个1KB的 存储器 则它有1024个存储单元,它的编号为从0-1023。...在计算机上,有地址线,物理的电线,有高低电平的信号,转换数字信号:1/0 32位机器,上面有32根地址线 2的32次方个字节的空间 - - - 4,294,967,296 Byte — 4GB --...-- 通过pa里存放的a的地址找到a ---- 三、指针变量的大小 指针变量是用来存放地址的 32位机器上:地址是32个二进制位,这个地址要存储的话要4个字节,所以在32位机器上,指针变量的大小是
一、数组的概念 用来存储一组数据的构造数据类型 特点:只能存放一种类型的数据,如全部是int型或者全部是char型,数组里的数据成为元素。...Int x[]={1,2}; Char ca[5]={‘a’,‘A’,‘B’,‘C’,‘D’}; 数组名即代表数组的地址,数组的地址==数组名(ca)==数组的首元素的地址&ca[0] 在内存中,内存从大到小进行寻址...,为数组分配了存储空间后,数组的元素自然的从上往下排列存储,整个数组的地址为首元素的地址。...模拟该数组的内存存储细节如下: ? 注意:字符在内存中是以对应ASCII值的二进制形式存储的,而非上表的形式。 在这个例子中,数组x的地址为它的首元素的地址0x08,数组ca的地址为0x03。...使用场合:五子棋,俄罗斯方块等, 假设: char Y[3][2]={ {‘A’,‘B’}, {‘C,‘D’}, {‘E,‘F’} }; 内存情况: ?
一、主函数 C语言的主函数是main()函数,有且仅有一个。 例如: int main() { return 0; } 是一个标准的C语言主函数。...二、输入、输出函数 C语言中的输出函数为printf,输入函数为scanf,使用前需要引用头文件#include 。...(2)C语言中的常见单位(从小到大): bit(比特)<byte(字节)<KB<MB<GB<TB<PB<..... 1byte = 8bit 1KB = 1024byte 1MB = 1024KB...四、变量和常量 4.1 变量的使用 C语言中常量是不变的值,变量是可变的值 创建变量的使用: int age = 10; char ch = 'w'; float weight = 45.5f...4.3 常量 C语言中的常量分为字面常量,const修饰的常变量,#define 定义的标识符常量,枚举常量。 (1)字面常量:100,'w',3.14等。
Geany的下载 方式一:官方网站下载: Geany官方网站 方式二:如果下载慢的话,也可以在我的资源仓库获取: 小蓝枣的资源仓库,提取码:xtr2 Geany的安装 Geany用来编辑Python...运行试验 保存为一个结尾为.py的文件,然后写一行简单的print(“hello”),点击执行,看看能不能正常运行。 ?
前言: 在踏入C语言编程的奇妙旅程之初,掌握基本语句无疑是我们搭建知识大厦的坚实基石。C语言,作为一门历史悠久且功能强大的编程语言,其简洁明了的语法结构为我们提供了表达逻辑、控制程序流程的强大工具。...我们将从最基本的赋值语句开始,逐步深入到条件判断、循环控制等关键语句,让每一位读者都能清晰地感受到C语言编程的魅力与力量 让我们一同踏上这段充满挑战与收获的C语言编程之旅吧! 1....指针 C语言中的指针是C语言编程中一个非常核心且强大的特性。指针允许你直接访问内存地址,并操作这些地址中存储的数据。...总结 在结束这篇关于介绍C语言基本语句的文章之际,我们不禁感慨于C语言那简洁而强大的魅力。...C语言不仅仅是一种编程语言,它还是理解计算机底层工作原理、掌握内存管理、优化程序性能的一把钥匙
大家好,又见面了,我是你们的朋友全栈君 分两种情况: 1. 预处理:把一个预处理指示写成多行要用“\”续行,因为根据定义,一条预处理指示只能由一个逻辑代码行组成。 2....正常程序:一行写不下:把C代码写成多行则不必使用续行符,因为换行在C代码中只不过是一种空白字符,在做语法解析时所有空白字符都被丢弃了。
领取专属 10元无门槛券
手把手带您无忧上云