C/C++
关于c/c++的内容
code_snow
这个作者很懒,什么都没留下…
展开
-
程序工具_doxygen
doxygen是API文档生成工具。原创 2024-08-03 08:27:06 · 214 阅读 · 0 评论 -
VSCODE使用
解决:和编码问题有关,之前为了适配keil文档,修改默认打开的是gb2312编码,现在把 设置中的 在读取和写入文件时使用的默认字符集编码 修改为utf-8格式,就可以在全局中搜索了。vscode全局搜索“汉字”的时候,会出现只在打开的文件中进行搜索,搜索字母变量的时候,是可以全局搜索的,不论文件有没有打开,都会在整个文件夹中搜索。原创 2024-07-26 21:46:41 · 159 阅读 · 0 评论 -
C++中的类型转换static_cast、dynamic_cast、const_cast和reinterpret_cast总结
C++中的类型转换static_cast、dynamic_cast、const_cast和reinterpret_cast总结转载 2023-03-26 22:58:23 · 58 阅读 · 0 评论 -
关于数组 的各种
解决:在c中,数组在作为参数的时候就退化为指针,对一个地址来取大小呢,如果是32位系统的话即为4,如果是64位系统的话为8,所以呢,在函数中sizeof获取的是指针的长度而不是数组的长度。或者函数int arrayLength(int * arr) { return sizeof(arr);转载:自定义函数中使用sizeof计算数组长度为啥就不正确了?目前看,不要在自定义函数中使用sizeof。问题:自定义函数计算数组长度,每次都是8?原创 2023-07-01 15:38:42 · 213 阅读 · 0 评论 -
关于字符串常用函数strncpy strcpy strcat等(持续完善)
当arr非空(包括arr[0]==0其他位有非空的情况),brr不溢出的话,是正常的,只复制4位到字符串arr。但是brr溢出的话,arr的第五位就也会被赋值,然后arr也会溢出。解决方式:方式一:在strncpy前面添加 memset(arr, 0, sizeof(arr));当arr为空(即所有位都是'\0'),那么不论brr是否溢出,都正常,运行完strncpy,arr[4]都是'\0',不会被溢出。方式二:在strncpy语句后面加上arr[4] = 0;原创 2023-06-29 22:42:14 · 177 阅读 · 0 评论 -
source insight 使用
1.在行首写字,会自动把原来的字符删除掉。解决:不小心按了insert,会出现这种情况,再按一次insert键就可以了。原创 2023-05-29 16:33:57 · 428 阅读 · 0 评论 -
数组字符转成int int输出4个ascii
在上述代码中,我们定义了一个名为four_chars_to_int的函数,它接受四个字符参数,并返回一个int类型的结果。在主函数中,我们定义了四个字符变量c1、c2、c3和c4,并将它们传递给four_chars_to_int函数。这个函数使用了位运算符将整数的二进制表示右移24、16、8和0位,然后使用按位与运算符和字符指针来获取对应的ASCII码字符。这些字符被存储在传递的指针变量中,函数没有返回值。在C语言中,可以使用字符数组来存放四个字符,并将其封装成一个函数返回int类型的结果。原创 2023-05-24 17:59:02 · 997 阅读 · 0 评论 -
单片机常用的几种赋值操作
/经过运算后,a 的值 a=1001 0011 b 14 // a 的第 1 组的 bit2、bit3 被清零,而其它位不变。//经过运算后,a 的值 a=1001 1011 b 13 // a 的 bit2 位被被零,而其它位不变。//所得的数与 a 作”位与&”运算,a = (1001 1111 b)&(1111 0011 b),//所得的数与 a 作”位与&”运算,a = (1001 1111 b)&(1111 1011 b),//上述(~(3<<2*1))中的(1)即为组编号;转载 2023-05-12 16:38:48 · 1057 阅读 · 0 评论 -
c语言 #ifdef OS_GLOBALS #define OS_EXT #else #define OS_EXT extern #endif 的说明
当 编译器处理.C 文件时,它强制xxx_EXT(在相应.H文件中可以找到)为空,(因为xxx_GLOBALS已经定义)。所以编译器给每个全局变量分配内存空间,而当 编译器处理其他.C 文件时,xxx_GLOBAL 没有定义,xxx_EXT 被定义为extern,这样用户就可以调用外部全局变量。以下是如何定义全局 变量。表1.2 中的定义出现在定义所有全局变量的.H 头文件中。当编译器处理其他.C 文件时,头文件变成了如下的样子,因为OS_GLOBAL 没有定义,所以OS_EXT 被定义为extern。原创 2023-05-11 20:31:15 · 528 阅读 · 0 评论 -
??指针的 理解
C语言中为何要用指针?一文带你了解指针的用处。原创 2023-03-31 10:36:51 · 53 阅读 · 0 评论 -
数组名与数组名前加取地址符
数组名与数组名前加取地址符转载 2023-03-09 09:40:05 · 85 阅读 · 0 评论 -
指针有什么用
指针的作用,其它数据类型加上指针该如何理解和应用转载 2023-03-06 17:27:53 · 53 阅读 · 0 评论 -
单片机开发学习过程,用博客记录
单片机学习方法转载 2023-02-28 01:31:24 · 79 阅读 · 0 评论 -
执行同一个程序每次变量地址(&a)是不一样的
地址空间随机化转载 2023-02-27 08:58:45 · 393 阅读 · 0 评论 -
c语言指针强制类型转换
int a = 1;int *p = &a;float *p1 = (float*)p;转载 2023-02-26 21:22:36 · 123 阅读 · 0 评论 -
C语言位操作符与基本表达式规则
位操作符AND(&) a&b 如果都为1,结果为1,否则为0OR(|) a|b 有一个为1就为1 ,都是0则为0XOR(^) a^b a、b不同则为1,相同为0原创 2023-02-26 09:48:13 · 77 阅读 · 0 评论 -
如何在Windows中实现C语言重定向输入
c语言原创 2022-07-20 18:22:55 · 295 阅读 · 0 评论 -
【C语言】结构体在多文件中的定义和声明
1.结构体可以在.c .h文件中多次声明,不能多次定义2.不要在头文件中进行变量定义。在a.h中定义了变量str,当main.c和func.c文件都包含a.h,预处理器会把a.h分别附到两个源文件开头,相当于在main.c和func.c中重复定义了str全局变量。编译没问题,编译完开始link时,linker会发现main.obj和func.obj中都有str符号,于是报错,这跟C命名冲突是同一...原创 2018-07-01 15:30:08 · 26707 阅读 · 0 评论 -
【C语言】头文件,多文件编辑
1.多文件编辑,一个工程包含多个源代码2.除了主函数,给其他几个函数分配头文件声明程序:main.c:#include <stdio.h>#include "a.h"//#include "func.c" /* #include "func.c"声明在“build”之后添加可以,在“build”之前添加会报错func.obj : error LNK2005: _add...原创 2018-07-01 11:20:34 · 1662 阅读 · 0 评论