- 博客(6)
- 收藏
- 关注
原创 线性表之顺序表
顺序表是线性表的一种。如下表,每一格就是一个存储单元。顺序表存储单元的物理地址是连续的,存储单元中依次存储数据元素,在一般情况下用数组存储。可见顺序表的逻辑结构和物理结构都是线性的。0123456数组 ———— 顺序表(数组+增加数据+删除数据+修改数据+……)int size;}SL;
2024-11-20 20:36:17
613
原创 指针(二)
arr[i]和*(p+i)访问都可以,同时arr和p都表示数组首元素,因此也可用*(arr+i),对比arr[i],可以认为符号[ ] 与*()可互相替换,经过验证,p[i]可以成功访问数组。&arr[0]和&arr[0]相差4个字节,arr和arr+1相差4个字节,而&arr和&arr+1相差40个字节,可以说明&arr是表示整个数组的地址,+1跳过40,也就是跳过整个数组的。//函数指针数组,[ ]优先级比()高,pa1先和[ ]结合,说明pa1是数组,数组的内容是int (*)()类型的函数指针。
2024-08-12 14:55:41
819
原创 指针(一)
将int类型的变量的地址赋值给char*类型的指针变量(int型a的地址赋值给char* pa),类型不兼容,编译器会给警告,使用void*类型就不会有问题。&n、pc、pi都表示n的地址,pc是char*型,pi是int*型,所以pc+1增加一个字节,地址+1,pi+1增加4个字节,地址+4。const放在*右边,修饰的是指针变量本身,指针变量的内容不能修改,但是指针指向的内容可以用指针来改变。const放在*左边,修饰的是指针指向的内容,指针指向的内容不能通过指针改变。但指针本身的内容可以变。
2024-08-08 10:16:23
979
原创 操作符详解
假设a在内存中占的四个字节地址为0x006FFD70、0x006FFD71、0x006FFD72、0x006FFD73,&a后输出0x006FFD70,取出的是a所占四个字节中较小字节的地址。1 if(month>=3&&month<=5)//若month不满足>=3的条件,左侧为0,右侧表达式无需执行,整个表达式结果为0.+和-是有两个操作数的,上述代码中+的操作数3、5,-的操作数6、2,这种有两个操作数的操作符也称为双目操作符。//a>b为0,a=2+10=12,b=13 c=13、
2024-08-07 10:58:11
1154
原创 二进制及原码反码补码
0-9,a-f的数字,各自写成2进制,最多4个2进制就足够了,比如f表示15,它的的二进制是1111,所以在2进制转化成16进制时,从右边低位往左,每4个2进制位换算一个16进制,剩余不够4个2进制位的直接换算。0-7的数字,各自写成2进制,最多3个2进制就足够了,比如7的二进制是111,所以在2进制转化成8进制时,从右边低位往左,每3个2进制位换算一个8进制,剩余不够3个2进制位的直接换算。有符号整数的三种表示方法均有符号位和数值位两部分,2进制序列中,最高位的1位被当作符号位,剩余的都是数值位。
2024-08-06 12:55:20
1273
原创 冒泡排序算法
(4)2,6,5,0,7 45元素比较,7比0大,交换 -五个元素,两两比较,确定最大的元素。(3)2,5,0,6,7 34元素比较,6比0大,交换 -前四个元素两两比较,确定第二大的元素。(2)2,0,5,6,7 23元素比较,5比0大,交换-前三个元素两两比较,比两次。(1)0,2,5,6,7 12元素比较,2比0大,交换-剩余两个元素比较。(2)2,6,7,5,0 23元素比较,7比6大,交换。所以上述代码可以优化。
2024-08-05 15:52:39
326
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人