- 博客(6)
- 收藏
- 关注
原创 P1 C++学习:浅拷贝问题与赋值运算符重载
m_Age 是一个指向 int 的指针,它指向的内存是在构造函数中通过 new 分配的。同时,因为 p2.m_Age 和临时对象的 m_Age 现在指向同一块内存,当临时对象在语句结束后被析构时,这块内存会被 delete,而** p2.m_Age 还在指向这块已经被释放的内存**,这就造成了 p2.m_Age 是一个悬挂指针,这是非常危险的。这样,在赋值操作中,p2.m_Age 原来指向的内存就会被正确地释放,而且 p2.m_Age 会指向一块新的、和临时对象的 m_Age 所指向的内存不同的内存。
2024-01-14 20:53:41
623
1
原创 P5.C语言学习-数据的类型与存储
例如,unsigned char x=-1;这条语句,-1补码的16进制格式为FF FF FF FF。将其存入大小只有一个字节的无符号字符型变量x中,发生低位截断,只保留低8位数据FF,而在无符号数中,FF只表示大小,大小为255,而以%d的格式打印的时候,x的位数不够,需要进行整型提升。使其变为无符号整型的格式然后打印。y同理,但由于y是有符号字符型类型,所以整形提升时会提升为有符号整形,即高位不断补符号位。如果操作数是有符号的整数类型(shortint),则它将被提升为有符号的int类型。
2023-08-05 23:00:08
47
2
原创 P4.C语言学习-数据的类型与存储
例如:35=2^5+2+1,35的32位二进制表示为00000000 00000000 00000000 00010011 共3个1。
2023-08-02 00:12:10
50
原创 P3.求两个有序数组的中位数(利扣第四题)
例如:输入:A={2,5,6,8,11},B={3,4,9,12,13} 输出:7.5若第一个数组有m个元素,第二个数组有n个元素。
2023-07-28 00:35:19
378
1
原创 P2.C语言题目练习(第三题输出n个数中三个数的排列)
思路:将num%10的值放入数组arr中,然后num/10,依次不断存入个位、十位、百位。。。(不过下面一串代码运行起来好像有点问题,额。。。不知道问题出在哪)或者可以在函数内部创建arr数组,然后以整形指针的类型返回。
2023-07-25 23:53:21
1065
2
原创 P1.const、static用法、左移右移
int y)),可以在另一个文件内使用外部声明使用这个函数。全局变量范围广,在一个文件中定义以后,在自己的文件内可以直接使用,在另一个文件内进行。与修饰全局变量类似,static修饰函数后声明之后在另一个文件也无法使用该函数。算数右移:最低位舍去,二进制补码整体向右移动一位,高位补符号位(用于有符号数)逻辑右移:最低为舍去,二进制补码整体向右移动一位,高位补0(用于无符号数)32位操作系统中,内存中存储的是32个bit位的补码。输出结果为:1 1 1 1 1 1 1 1 1 1。就只能在一个文件内使用了。
2023-05-01 23:12:56
71
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人