![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言基础知识
文章平均质量分 67
技术在路上
这个作者很懒,什么都没留下…
展开
-
Cmake知识----编写CMakeLists.txt文件编译C/C++程序
1.CMake编译原理CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object))。因此CMake的编译基本就两个步骤:cmakemakecmake 指向CMakeLists.txt所在的目录,例如cmake … 表示CMakeLists.txt在当转载 2021-01-12 17:54:47 · 356 阅读 · 0 评论 -
头文件相互引用会造成错误, error: identifier ““ is undefined
编译时一直报错,提示error: identifier “” is undefined,检查了下头文件引用和拼写,都正确……看一下基本代码(只列出涉及的代码)=====================================【ring.c】#include "ring.h"【ring.h】#include "iap.h" //【1】 typedef struct DataRing_Type{ …… }DataRing;【iap.h】//编译时在此处一直报错,error:转载 2020-07-23 10:31:39 · 13694 阅读 · 2 评论 -
keil51下使用sprintf死机问题
转载自:https://www.cnblogs.com/shirishiqi/p/5556469.html测试环境:keil c51 +STC89C52说明:1.keil的不定参数只有15个字节也就是说sizeof(...) 加起来总共不能超过15字节,否则会出错2.当不定参数中有常数时,你也会得不到你想要的结果,字符串除外例:unsignedchar count...转载 2019-10-09 15:31:39 · 1161 阅读 · 0 评论 -
C语言之类型定义(typedef)
转载自:https://baijiahao.baidu.com/s?id=1623094778202042724&wfr=spider&for=pctypedef应该算是很熟悉的关键字了,但是我也只是简单使用罢了,为了比较系统的讲述这一小节,特地上网搜了一下。好了,现在正式开始讲解。typedef关键字可以用于给数据类型定义一个别名,比如说你本名叫关谷神奇,我嫌弃这个名...转载 2019-09-24 23:05:59 · 257 阅读 · 0 评论 -
C代码注释注意//和/*xxx*/的区别
本文引用地址:http://www.eepw.com.cn/article/256102.htm 没有血案,但有些冲突。不是代码bug,我要讲注释风格。 这位看官,既然来了,且读且评吧。故事是真实的,如有雷同纯属巧合。 事情是这样的,有人离职,公司调我补缺。那个系统一直有个工程师在维护,参与该系统的新人来了又走,他始终泰若磐石。刚过去一个礼拜,我就心下窃吼:“TMD坑转载 2016-03-09 11:03:22 · 4560 阅读 · 2 评论 -
宏定义中#和##符号的使用和宏定义展开问题
有一道经典的C语言问题,关于宏定义中#和##符号的使用和宏定义展开问题 程序如下:#include #define f(a,b) a##b#define g(a) #a#define h(a) g(a) int main(){ printf("%s\n", h(f(1,2))); printf("%s\n", g(f(1转载 2016-01-06 23:02:31 · 2047 阅读 · 0 评论 -
白话经典算法系列之六 快速排序 快速搞定
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。 总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快转载 2013-09-13 09:54:09 · 724 阅读 · 0 评论 -
轻松搞定面试中的链表题目
出自http://blog.csdn.net/walkinginthewind/article/details/7393134链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,也适合考察写代码的能力。链表的操作也离不开指针,指针又很容易导致出错。综合多方面的原因,链表题目在面试中占据着很重要的地位。本文对链表相关的面试题做了较为全面的转载 2013-09-08 19:10:43 · 763 阅读 · 0 评论 -
排序算法
排序算法经过了很长时间的演变,产生了很多种不同的方法。对于初学者来说,对它们进行整理便于理解记忆显得很重要。每种算法都有它特定的使用场合,很难通用。因此,我们很有必要对所有常见的排序算法进行归纳。 我不喜欢死记硬背,我更偏向于弄清来龙去脉,理解性地记忆。比如下面这张图,我们将围绕这张图来思考几个问题。 上面的这张图来自一个PPT。它概括了数据结构中的所有转载 2013-09-07 15:59:16 · 679 阅读 · 0 评论 -
浮点一般都是不可重入的,printf()经常有重入和性能上的问题
重入一般可以理解为一个函数在同时多次调用,例如操作系统在进程调度过程中,或者单片机、处理器等的中断的时候会发生重入的现象。一般浮点运算都是由专门的硬件来完成,举个例子假设有个硬件寄存器名字叫做FLOAT,用来计算和存放浮点数的中间运算结果假设有这么个函数void fun(){//...这个函数对FLOAT寄存器进行操作}假如第一次执行,有个对浮点数操作运算的结果临时存在FLOAT寄存转载 2013-08-31 10:26:09 · 2557 阅读 · 1 评论 -
16道嵌入式C语言面试题
> 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处转载 2013-08-31 10:24:55 · 1159 阅读 · 0 评论