- 博客(16)
- 收藏
- 关注
原创 【C语言数据结构之单向链表】定义结点,初始化链表,头位置插入,尾位置插入,遍历输出,通过data查询并删除某节点
【代码】【C语言数据结构之单向链表】定义结点,初始化链表,头位置插入,尾位置插入,遍历输出,通过data查询并删除某节点。
2023-06-04 16:19:23 179
原创 【c语言】三字母词,转义字符\? \‘ \“ \\ \ddd \xdd
这样就一定会输出 (are you ok?时,防止被解析成三字母词。会输出为: (are you ok]这里面存在一个转义字符 \?
2023-05-29 18:55:19 233
原创 【c语言】字符串,字符串的结束标志,strlen()
字符串后面自动跟\0运行结果:个人认为将\0这个字符算入了size,计算机认为s这个char组共占7字节(当然包括\0)直接开辟十个char空间,第十一个空间不为\0运行结果:因为一开始就定义了这个char组的长度,如果没定义到的,会自动补0,等价于\0,所以%s输出,也会输出定义了的有效值,而不会把所有0也输出运行结果: 搞一下:运行结果: 尝试手写:运行结果:
2023-05-29 18:34:04 155 1
原创 【c语言】qsort函数
compare 函数中,e1,e2是需比较两个元素的地址,int型返回值有具体规则如下。compare:比较规则的函数指针。width:单个元素的字节长度。base:需比较值的地址。
2023-05-29 01:56:06 25 1
原创 【c语言】数组指针,指针数字,二维数组,数组参数,指针参数,数组传参
arr是这个数组的首元素的首地址,也是这个数组的地址(但arr具体是个什么东西我真搞不明白)所谓指针数组是一个指向数组的指针,说白话实际是一个8内存空间,里面存了一个数组的地址定义语法:形如 int (*p) [3] = &arr;那这个p就是一个指向数组(数组元素类型为int,长度为3)的指针,占八个内存,里面存放了数组的地址这里pArr就是指向arr运行结果如下。
2023-05-27 20:07:12 208 1
原创 【c语言】对%d, %u的理解
当用%d, %u的形式解析输出时,因为 %d, %u都取4字节, 所以要补3个字节,至于补什么。signed型是基于最高位数字,如果最高位数字是1,那在高位一直补1,直到补到4个字节。%d 和 %u 的区别在我看来%d是要涵盖正负,以8-bit存储举例,涵盖正负的话,而无符号就不需要,因为没有负数的存储,全为正数,那就一直加就好了。%d, %u都会自动取4字节的二进制内容进行解析转换为整形数据。考虑到计算机的加法运算,就搞出来补码这个神奇的东西。%d的范围是[-128, 127]
2023-05-27 19:13:05 2032 1
原创 【c语言】static用法
如果没有static,该函数可以被其他源文件使用,如果添加了static,那就只能在本源文件中调用。然后添加了static后,全局变量的链接属性变为 内部链接属性,其他源文件就不能使用到了。全局变量具有外部链接属性,俗话说,就是其他的源文件也可以使用到这个全局变量。影响了变量的声明周期,生命周期变长,和程序的生命周期一样。本质上改变了变量的存储位置,使其从栈区转移到静态区。
2023-05-27 18:31:33 32
原创 【计算机组成原理】从电晶体transistor开始一路组合抽象到内存memory
8根地址定位线共用,读写线也共用,等于说,在这个组合中,一个8-bits的数据分别在每个memory存放一个bit,即在这8个memory中分别存放了一个bit,且因为地址线共用,存放的具体坐标是一样的!考虑到进位,所以全加器得由三个数字分两个半加器相加,最大的情况是1+1+1,也只进1位,所以,or门判断carry(进位)就行,只要存在进位,那就是进1位;右侧current线一直有电,如果input线通电,右侧放行,current的电流直接跑接地的ground线,所以output线上无电;
2023-05-25 22:46:44 126
原创 【C语言】int * arr 定义数组的最直观内存图 以及与int arr[]的比较,猜测int arr[]的定义方式根本没有头指针,但不知道原因很疑惑
数组定义的内存图,已经疑惑 int arr[] 这样的定义方式的 arr究竟是什么玩意
2022-10-15 18:38:13 5485 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人