C语言
qq_40428783
这个作者很懒,什么都没留下…
展开
-
结构体对齐
1.第一个成员在结构体变量偏移量为0 的地址处,也就是第一个成员必须从头开始。2.其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。对齐数 为编译器默认的一个对齐数与该成员大小中的较小值。vs中默认值是8 Linux默认值为4(当然可以通过#pragma pack()修改),但修改只能设置成1,2,4,8,16.3.结构体总大小为最大对齐数的整数倍。(每个成员变量都有自己的对齐数)4.如果嵌套结构体,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(包含嵌套结构体转载 2021-02-01 23:28:14 · 155 阅读 · 0 评论 -
关于&引用的一个问题
在KEIL中写程序发现一个问题,&引用传值在Keil中识别不了,必须看做地址传值的方式解引用。在KEIL中报错在VS中不报错有发现是什么原因的大佬可以提示下原创 2021-01-25 11:16:31 · 98 阅读 · 0 评论 -
清除cin输入缓冲区,以及system(“pause“)、system(“cls“)用法
system(“pause”)、system(“cls”)system(“pause”):简单来说就是暂停的意思,等待接收信号,才会重新运行 system就是从程序中调用系统命令zhi和daoshell命令,“pause”这个系统命令的功能很简单,就是在命令行上输出一行类似于“Press any key to exit”或“请按任意键继续…”的字,等待用户按一个键,然后返回。system(“cls”):请出输出屏幕上的字符数据。清除C/C++(cin)输入缓冲区的方法1、fflush(std转载 2020-10-31 15:36:37 · 11882 阅读 · 2 评论 -
一个关于if判断表达式的错误
今天写了一段STM32串口相关的代码,出现了一个错误反复查看百思不得其解,代码如下:经过反复测试是括号中的表达式出错,if(47<USART2_RX_BUF[0]<58)这个表达式并不是一个整体,包含了一个或语句,不是一个与,应该写成if(47<USART2_RX_BUF[0]&&USART2_RX_BUF[0]<58),低级错误,菜扣脚引以为戒。...原创 2020-10-29 15:51:25 · 461 阅读 · 0 评论 -
extern和头文件
extern和头文件https://www.baidu.com/link?url=pbzWdCsK9Mrj5sHmlw8wqFTlc7q5X7dStDE69cs4iboz3E5Vu_-Ik0PsL_NXD5b8XZgdDvuyHYRhLqwsWo7lTa&wd=&eqid=866ba171000aa272000000065f71879a转载 2020-09-28 15:26:22 · 89 阅读 · 0 评论 -
结构体对齐
结构体概念一种数据结构;C语言中聚合数据类型的一类;可以被声明为变量、数组、指针等,用以实现比较复杂的数据结构;是一系列元素的集合,这些元素被称为结构体成员;结构体成员需要用结构体名访问结构体声明struct A{ //struct是关键字, A是结构体标志 int a; //a,b是结构体成员列表 char b; }s1; //s1是结构体变量注意事项:一般情况下,声明出现三个部分的两个部分即可(转载 2020-09-11 16:10:26 · 81 阅读 · 0 评论 -
宏定义空体的意义
/*********************************************************************Author : SamsonDate : 05/03/2012Test platform: GNU Linux version 2.6.29.4 gcc version 4.4.0 20090506 (Red Hat 4.4.0-4) (GCC) *******************转载 2020-09-11 10:06:31 · 724 阅读 · 0 评论