- 博客(10)
- 收藏
- 关注
原创 Java输入、数组和字符串比较
数据类型 [ ] 数组名 = new 数据类型 [大小]注:“ [ ] ”可以放在数组名的前面,也可以放在数组名的后面。
2024-10-19 19:26:43
996
1
原创 Java控制语句的注意事项
1、表达式不能是太复杂的条件2、case后的常量值不能重复3、每个case后的语句都要加break(default后不用加break),解释如下:4、表达式的类型只能是:(不能是long)、String常量串、枚举类型。
2024-10-12 11:13:06
381
原创 Java数据类型和运算符
int / int 的结果还是int类型,比如:5/2的结果在数学中为2.5,但计算机的结果为2,计算机会自动把小数点后的数据清除,想得到准确的结果可以这样写:5*1.0/2(因为在java中,:不同数据类型的变量之间进行运算时,类型小的会转成类型大的(可能会丢失精度),一般是数据范围小的转数据范围大的(程序运行时自动进行)例1: ( 表达式1 && 表达式2 && 表达式3 )例2: ( 表达式1 || 表达式2 || 表达式3 )( 表达式1 | 表达式2 | 表达式3 )
2024-10-02 20:15:05
556
原创 C语言动态内存管理
实际上,当循环结束时,指针ptr是在如图所示的位置的,此时free(ptr)只能将动态开辟的后5个元素的空间释放,动态开辟的前5个元素的空间在free(ptr)后仍然存在。3、包含柔性数组成员的结构体用malloc()函数进行内存的动态分配,并且分配的内存应大于结构体的大小,以适应柔性数组的预期大小。这段代码的问题在于过早free释放str,导致str变成野指针,if语句内的strcpy也是对str的非法访问。1、如果参数ptr所指向的空间不是动态开辟的,那么free函数的行为是未定义的。
2024-09-23 17:21:35
655
原创 sizeof和strlen辨析、数组和指针的运算(加深理解)(自用!!)
1、sizeof是操作符2、sizeof计算操作数所占内存大小,单位是字节3、不关注内存中存放什么数据1、strlen是库函数,使用需要包含头文件<string.h>2、strlen是求字符串长度的,统计的是“ \0 ”之前的字符个数3、关注内存中是否有“ \0 ”,如果没有“ \0 ”,就会持续往后找,直到读到“ \0 ”为止(因此可能会越界(在不同的环境下,地址的大小是不同的:X86:地址大小为4字节;
2024-08-07 20:12:40
560
原创 C语言数组名、二级指针、冒泡排序代码、指针数组(自用!!)
我们知道数组名就表示数组首元素的地址,那arr和&arr是否相同呢?运行结果:显然arr 和&arr所代表的意思是不一样的。arr 表示的是数组首元素的地址,等价于 &arr [ 0 ]&arr 可以理解为“&”取出的是整个数组的地址因此,arr + 1后地址向后跳1个元素(4个字节),&arr + 1后地址向后跳5个元素(20个字节)注意:sizeof(数组名),这里的数组名表示的是整个数组。
2024-08-04 19:13:33
271
原创 数组指针变量、字符指针变量、函数指针变量、函数指针数组(初学者自用!!)
来创建一个字符指针变量。来创建一个字符指针变量。在代码2中,我们可能会认为是把字符串 hello csdn 放到了字符指针ptrc中,但其实不是,本质是将字符串首字符的地址放入字符指针ptrc中,代码2中就是将h的地址放进ptrc中。注意:“ str1 == str2 ”并不是表示比较两个字符数组的内容是否相同,而是比较的是数组首元素地址是否相同;“ str3 == str4 ”表示比较这俩字符串首字符的地址是否一样。
2024-08-04 19:12:43
733
原创 C语言指针的学习(初学者自用!!)
举个栗子,如果把计算机比作是一所大学,那么内存就相当于一栋一栋的学生宿舍楼,楼里的每个宿舍都有自己的房间号,假设宿舍是一个8人间,把宿舍里的每个学生比作成一个比特位(bit),那么每个房间就是一个字节(Byte),而房间号,当你想要“串门”的时候,通过房间号就可以快速找到该房间。bit --- 比特位Byte --- 字节 1Byte = 8bit.........可以想象:内存是一个巨大的空间,这个空间被均匀地划分成相同大小的内存单元。
2024-08-02 18:17:20
680
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅