![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
c/c++
文章平均质量分 51
语法
SUR0608
这个作者很懒,什么都没留下…
展开
-
#pragma pack用法
一、#pragma pack(1)原创 2023-12-12 15:26:09 · 426 阅读 · 0 评论 -
字符串、结构体数组,C库函数等处理
字符串处理原创 2023-03-14 16:55:36 · 75 阅读 · 0 评论 -
位域(位段)/枚举常量用法官方库例程
位域/枚举原创 2022-11-13 19:24:21 · 385 阅读 · 0 评论 -
PC-lint静态检测工具集成到SourceInsight配置步骤
PC-lint静态检查工具使用配置,仅用于学习使用,勿做它用原创 2022-08-11 10:06:00 · 1881 阅读 · 0 评论 -
单向静态链表,动态链表小例程
链表List作为c语言语法中的高级用法之一,数据结构之一;在前后台系统中使用较少几乎用不到,但在RTOS内核源码中使用非常多,例如任务表的任务建立,(节点)插入和删除等;所以还是建议要学习掉链表的,了解会用该语法;(1)单向静态链表(2)单向动态链表...原创 2022-06-05 21:27:35 · 137 阅读 · 1 评论 -
函数指针用法示例
函数指针在操作系统中的使用非常频繁,所以对于函数指针变量的定义形式,赋值形式及调用形式一定要清晰;原创 2022-03-20 22:30:42 · 661 阅读 · 3 评论 -
C工程(项目开发)编程问题总结
在整个c文件工程中:1、对于预处理指令的使用非常频繁,宏定义/引用头文件/条件编译;其中引用头文件的作用,基本上初学者都很熟悉,在编译c源文件过程中,编译器(编译-汇编-连接)将引用的头文件内容贴到c源文件引用处,汇总成一个总文件,一般地,命名一个c源文件同时会命名一个.h头文件,方便识别和使用;当工程中c源文件非常多的时候,源文件之间引用高耦合时,就会出现许多重定义(全局变量、函数等这些东西的使用高耦合)问题,例如整个工程中定义的源文件头文件有:a.c和a.h , b.c和b.h,其中a.c中部分要原创 2022-02-10 23:02:56 · 908 阅读 · 1 评论 -
++i和i++的小区别
i只有在当前被包含的语句中参与逻辑使用(例如:参与运算),才会有区别,单独一个++i和i++的语句,然后就执行下一语句了,那么i的值在两种情况下没区别,所以在下一语句中的i的值都是已变成加1的值了;...原创 2022-01-11 22:06:07 · 150 阅读 · 0 评论 -
无符号数运算相减/有符号数表示运算问题(二)
不管是无符号数还是有符号数,计算机中在运算时相应存储空间存放的都该数值的对应补码;如上图: -100的补码是1001 1100,因为是无符号数,直接以补码形式输出为156但是奇怪的事情发生了:结论:将运算结果重新赋值给变量,不管位数都能按照补码逻辑去判断,而且判读没毛病但是单拎出来作为条件就会判读出错(悬而未决啊???);...原创 2021-10-07 16:32:00 · 460 阅读 · 0 评论 -
无符号数运算相减/有符号数表示运算问题(一)
一、无符号数无符号数二进制的乘除,就相当于左移或者右移了 2的几次方倍(如下图)无符号数加法是进位,减法是借位;(进/借最高位)例如:1的补码是 0000 00012的补码是 0000 0010-2的补码是1111 1110那么1-2=1+(-2)= -1(负数)0000 0001 + 1111 1110 = 1111 1111(255即为计算机的真实值)【注意】无符号数小数减大数,结果出现负数,但是无符号数本身取值范围是≥0的,所以只能是其补码运算结果输出值为真值。其中小数.原创 2021-10-06 00:34:54 · 12635 阅读 · 1 评论 -
C语言预处理命令_条件编译
对于C语言的预处理命令:宏定义,文件包含(头文件引用),条件编译。各自的概念在此不赘述,百度即可【1】今儿主要是想理一下条件编译:第一个:#if 条件代码1#elif 条件代码2#elif 条件代码3。。。#endif其实跟if(条件1){}else if(条件2){}else{}这个是一样的使用规则,判断依据:或者情况比较,或者非0为真。验证如下:第二个:#ifndef 宏名 | #ifdef 宏名#define 宏名。。。#endif很多人对这个原创 2021-08-05 23:39:44 · 355 阅读 · 1 评论 -
关于c语言调用递归函数时的程序执行步骤
示例1:递归反向输出字符串# include <stdio.h>void digui(char * p){ if(*p == '\0') return; else { digui(p+1); printf("%c",*p); }}int main(){ digui("ABC\0"); printf("\n"); return 0;}首先digui()中的参数定义了一个字符指针p,所以其指向的是该字符串“ABC\0”的首地址,所以*p=A(p是原创 2020-09-21 11:34:30 · 955 阅读 · 0 评论 -
如何写规范头文件,及头文件和源文件之间函数调用等关系
举一个简单且经典例子先:main.cinput.ccalcu.cinput.hcalcu.h通过这三个源文件两个相应头文件来演示他们之间的关系1、 main.c2、input.c3、calcu.c1、input.h2、calcu.h总结:1、关于#ifndef #define #endif用法需要你们自己去查(算了还是给你们贴出来吧)...原创 2020-05-22 08:48:50 · 2541 阅读 · 0 评论 -
关于ifndef...endif用法的详解和补充
**具体示例1、#define x //定义一个宏…#endif//C语言在对程序进行编译时,会先根据预处理命令进行“预处理”。C语言编译系统包括预处理,编译和链接等部分。#ifndef x //先测试x是否被宏定义过#define x程序段1 //如果x没有被宏定义过,定义x,并编译程序段 1#else程序段2 //如果x已经定义过了则编译程序段2的语句,“忽视”程序段 1...原创 2020-03-19 23:32:35 · 4133 阅读 · 0 评论 -
int argc,char*argv[ ]的简洁解释
1、(arguments, argument counter(计数个数) 和 argument vector (矢量,带有方向的变量参数,也就是指针)argc命令行输入参数的个数int main(int argc, char* argv[]){int i;for (i = 0; i<argc; i++)cout<<argv[i]...原创 2020-04-19 16:35:22 · 6428 阅读 · 0 评论