【一】曾经那些错误,你又踩坑了吗?(二)

简介: 【一】曾经那些错误,你又踩坑了吗?

2.

printf("%%%%\n"); 输出结果是 %%

3.

4.

 -为左对齐

2.存储方式

此题涉及到大小端:

大端(字节序)低位在高地址,高位在低地址;

小端(字节序)低位在低地址,高位在高地址;

五、const修饰指针变量

做这个题目之前,我们先回顾一下:

所以:const在*前面,就是修饰的指针变量所指向的值不能改变,叫常量指针

           const在*后面,修饰的指针变量不能改变(即内存地址不能改变),就叫指针常量

所以选D,A选项是都不可以改变

六、与字符串有关的

strcpy(源地址,目的地址),把目的地址字符串拷贝到源地址;


strcat(源地址,目的地址),把目的地址字符串追加到源地址;


p2+1->"BCD";p1+2->"cd";str+2->"z";


strcpy(str2+2,strcat(p1+2,p2+1));-> "xycdBCD"


选D

a数组的元素类型都是char*,p是二级指针,a作为数组名,是首元素的地址(char**),所以将a赋值给p;

调用函数,m也指向数组a的首元素,++m从第一个元素到了第二个元素"afternoon",输出afternoon

七、求结构体的内存大小(内存对齐)

先看内存对齐规则:


结构体内存对齐规则

1. 第一个成员在与结构体偏移量为 0 的地址处。

2. 其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。

注意:对齐数 = 编译器默认的一个对齐数 与 该成员大小的较小值。

VS 中默认的对齐数为 8

3. 结构体总大小为:最大对齐数(所有变量类型最大者与默认对齐参数取最小)的整数倍。

4. 如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍。

以此类比,答案为C

位段:就是在结构体成员后面加了一个冒号和一个数字,数字代表:分配了几个比特位

位段意义在于节省空间

位段成员的类型必须指定为unsigned或int类型。

 同类型可以共用,但是不同类型需要重新开辟空间


unsigned:开辟4个字节,32位,a和b占用(19+11=30)此时开辟的空间只剩2个比特位;重新开辟四个字节,c占4个比特位,d占29个,加起来超过32,所以还需要再开辟


重新开辟4个字节


此时char属于另一种类型,需要独自开辟一字节


共13字节,但需要对齐,类型中最大的整数倍:16

八、功能型(观察)

首先我们看到这么大的数,先用小的数来观察这段代码的功能:

所以我们只需要观察9999的二进制中有多少1就可以:

9999转化二进制:1111100111 ;count=8

总结

很多细小的问题我们得注意,回看慢慢进步!我们下期不见不散

目录
相关文章
|
6月前
|
程序员 测试技术
程序员的“Bug之旅”:为何无法一次性写出完美代码?
程序员在软件开发过程中难以一次性写出完美代码,需要不断修改和调试,即“改Bug”,这是由多个因素共同作用的结果。技术层面的复杂性、管理和流程上的不足以及个人能力和认知的局限性都是导致这一现象的重要原因。然而,这并不意味着无法避免或改进。通过加强需求管理、建立有效的版本控制和测试机制、推动团队知识共享以及鼓励代码审查和自我反思等措施,可以降低改Bug的频率和成本,提高软件开发的效率和质量。辩证地看待这一问题,既要理解其存在的合理性,也要积极寻求改进之道,以实现更好的产品和服务。
57 2
|
6月前
|
开发者 C++ UED
你以为的Bug VS 实际的Bug:解密程序开发中的意外之旅
作为开发者,我们在日常开发过程中经常会遇到各种各样的Bug,有些Bug可能很容易发现并解决,但也有一些Bug让人感到困惑摸不到头脑,甚至是无厘头Bug,就像我们以为的Bug与实际的Bug之间的差异一样,让人头大。所以我们在日常开发过程中,一定要细心、细致、细顾,在面对任何Bug的时候都要抱着敬畏的心态去解决,因为我们永远不知道在实际程序开发中的意外是啥,有什么意外在等着我们去发现和解决。那么本文就来讨论分享一下开发者在工作过程中遇到的“你以为的Bug”与“实际的Bug”之间的差异在哪里?,然后通过一个有趣的比喻,我们将深入分析这些不同类型的Bug,还有就是在解决问题时的重要性和挑战。
75 1
你以为的Bug VS 实际的Bug:解密程序开发中的意外之旅
|
6月前
|
PHP
PHP遇见错误了看不懂?这些错误提示你必须搞懂
PHP遇见错误了看不懂?这些错误提示你必须搞懂
55 0
|
Cloud Native Go
面试失败的反思:如何从错误中吸取教训
面试失败的反思:如何从错误中吸取教训
84 0
|
API Android开发 图形学
[持续更新]细数那些Compose新手容易犯的错误(二)
[持续更新]细数那些Compose新手容易犯的错误
200 0
|
Android开发 开发者 容器
[持续更新]细数那些Compose新手容易犯的错误(一)
[持续更新]细数那些Compose新手容易犯的错误
281 0
|
存储 人工智能
【一】曾经那些错误,你又踩坑了吗?(一)
【一】曾经那些错误,你又踩坑了吗?
64 0
|
JavaScript 前端开发 API
每个 Bug 都值得认真对待:分享一个 debug 的案例,推荐给前端实习生参考
每个 Bug 都值得认真对待:分享一个 debug 的案例,推荐给前端实习生参考
294 0
|
运维 架构师 Java
你目前写过最大的bug
你目前写过最大的bug
156 0
|
前端开发 计算机视觉 Python
代码报错还好说,源码报错才难搞!分享自己源码报错的解决过程!
代码报错还好说,源码报错才难搞!分享自己源码报错的解决过程!
139 0
代码报错还好说,源码报错才难搞!分享自己源码报错的解决过程!