- 博客(4)
- 收藏
- 关注
原创 C标准库中sprintf函数的理解
/ 输出: The answer is 42。是一个C标准库函数,用于将格式化的数据写入字符串中。将结果写入到一个字符数组中,而不是输出到屏幕。将格式化的数据写入到字符串中,而不是输出到终端。它的作用是按照指定的格式将数据写入到字符串。将数据输出到标准输出流一样。
2024-04-21 19:37:25
225
原创 数据存储例题解析
题目中 unsigned char b = *(unsigned char*)&a是将int*类型的指针强制类型转换为unsigned char*类型的指针然后进行解引用,拿出的应该是一个字节的内容b=0x 00.unsigned int a = 0x1234;在32位大端模式处理器上变量b等于()第二题(大小端存储分析)
2023-12-13 16:55:39
476
原创 对于C语言数据存储例题的一些思考
在a+b时会发生整型提升就是二者整型类型对应的二进制相加000000000000000000000000100101100,因此a+b在打印时会打印对应的整型数据对应的十进制数为300,a+b的整型数据存储到无符号char类型c中时会发生截断存储的是00101100,此时%d打印c会再次发生整型提升,因为是无符号所以高位全部补0,这是打印出的二进制是44。答:这道题主要是让我对于整型提升和截断有了更深刻的认识。整型在存储进无符号的char类型中会发生截断在a中的存储变为11001000。
2023-12-12 21:26:38
527
原创 对于数组解引用的一点思考
int arr[4][3]中arr数组名相当于首元素的地址,相当于arr[0]第一行的地址,其地址的类型是int(*)[3],arr[3][2]相当于*(*(arr+3)+2),其中arr+3相当于拿到了第四行首元素的地址,对其解引用相当于获得访问权限可以访问第四行中的三个元素,解引用后指针类型也随之发生变化,*(arr+3)解引用后相当于指针类型相当于变成int*类型,故后面(*(arr+3)+2)拿到的地址相当于第四行第三个元素的地址解引用可以访问该元素。
2023-12-08 16:47:34
531
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人