- 博客(8)
- 收藏
- 关注
原创 结构体内的字符串数组不能直接赋值,要善用strcpy函数
在C语言中,结构体内的字符串(字符数组)不能直接使用赋值运算符(=)进行赋值。这是因为数组名是一个常量指针,不能作为左值被赋值。但是,如果结构体成员是字符指针,那么可以将字符串常量的地址赋值给它,或者让指针指向一个字符串。如果需要修改结构体中的字符串内容,我们可以使用以下方法:1. 如果结构体成员是字符数组,可以使用strcpy函数进行字符串复制。2. 如果结构体成员是字符指针,需要先为指针分配内存,然后使用strcpy复制,或者直接指向一个字符串常量(但注意字符串常量不可修改)。
2025-08-27 19:29:45
227
原创 江协科技—ADC-测量芯片内部温度
出现和点寄存器结果不一样的原因是,在ADC_RegularChannekConfig()函数中,第二位只能填入一个参数,填入16和17俩个通道的结果是错误的,实际相当于16|17之后,读入的是17的通道。
2025-08-22 14:37:00
119
原创 keil编译错误:Browse information of one or more files is not available
检查下自己添加的新项目是不是在文件夹之外,因为在keil某个新文件里面添加新的item,默认一开始存在外面,因此头文件链接不到,会报错。
2025-08-20 13:35:27
125
原创 结构体函数的声明 调用 返回
2.调用的时候,不要加数据类型在前面,那样就成了声明了,调用函数,直接用他的名字。3.利用指针,只定义了一个结构体,其他用指针来访问,可以节省内存空间。关键点:1.结构体就当作int啥的来理解,是一种新的数据类型;
2025-08-14 15:30:28
135
原创 SIZEOF计算数组的长度
/ 可能输出: 16 或 24(取决于内存对齐) printf("Size of variable s: %zu bytes\n", sizeof(s));} 所谓对齐就是按照最大的那个来。定义数组int a[] ={1,2,3,4,5,6};sizeof(a),直接数数组的长度,不用a[],
2025-08-14 13:39:58
79
原创 STM32 DMA 数据长度定义为什么宏定义的长度是0呢
起初对这段代码很是疑惑,后来问了deep知道根据STM32的参考手册,MSIZE位的定义如下: 00: 8位(字节) 01: 16位(半字) 10: 32位(字)0x00000100 01 代表16位。0x00000200 10 代表32位。因为是32位操作系统所以是八位数 0x00000000。
2025-08-12 14:23:36
145
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅