- 博客(3)
- 收藏
- 关注
原创 关于指针中加减法计算的问题
而如果按照我们的常理来说,arr+1之后只是跳过了一个字节,而并不能跳过四个字节,所以得到的结果理应不是2而是0,因为2在内存中的表达形式其实是00 00 00 02(其中每2个0是一个字节),而2的前一个数据是1,可以写成00 00 00 01。而如果在1之后访问2,我们首先访问到的其实是00,如果我们只访问一个字节,那么我们就无法得到完整的数据。指针的大小是固定的,在32位机器中,指针的大小是4个字节,64位机器中,指针的大小是8个字节。在c语言中,我们知道,指针就是数据存储在内存中的编号。
2024-07-31 13:30:30
329
原创 关于c语言中整形提升的部分见解
无论我们选择哪种打印方式,得到的结果相同,这说明了一个情况,对于a=10000000,在进行整形提升时,空余位上都是补0(即遵循无符号整形提升的规则);在c语言中,我们知道:当你要进行两个数进行计算时,它们至少是int类型,当我们对char or short类型(即大小小于int)的数进行计算时,会发生整形提升。我们选择unsigned类型时,即默认b是没有符号位的,尽管b的首位是1。而在选择signed类型时,由于b是有符号位的,而负数在内存中存储的形式是补码,所以要将其转换位原码才能得到最终的结果。
2024-07-25 21:39:34
246
原创 我的第一篇博客
这是我的第一篇博客。今天是非常有纪念意义的一天——我踏足上了学习编程这条路(第一门语言是C++)。在接下来的日子里,我会将我的学习心得以及体会分享到这里,也希望大家能多多指教!
2024-07-10 21:23:45
89
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人