- 博客(30)
- 收藏
- 关注
原创 sqlite3: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No
链接:https://blog.csdn.net/chenliang0224/article/details/17169929。由于要编译成动态库时,配置参数--with-shared,不能被识别,所以必须自己编译动态库。问题是直接复制的so文件,别人直接做好的install。自己全重新编译后,自己做install可以。移植sqlite 一直报这个错,最后解决。
2024-07-17 11:30:10
186
原创 文件指针偏移
SEEK_END, END 是指针结尾后移一位。使用fseek 反向从最后end偏移三位 ,文件指针从EOF(End Of file) 到指向7,在文件中调用了两次。SEEK_CUR,现在位置。offset 偏移量 整数表示正向偏移,负数表示负向偏移。whence 位置 SEEK_SET, 文件开始。回到SEEK_SET (开始位置)使用ll 命令查看到大小为9,应该是有一个\0。文件开始到文件指针的偏移量,用来计算文件大小。
2024-05-15 15:27:30
408
原创 shell
echo ` ` 将中间的字符串按照命令打印 echo `date`2 位置变量 ./3.sh /etc/passws 123 456。- 普通文件 d 目录。$# : 传入参数的个数(不算文件名)// ./a.out 1 2 3 4 5 命令行参数。echo "$a" 双引号当变量处理 // 123。$$ : 当前进程的进程号PID。$1 : 传入脚本第一个参数。$2 : 传入脚本第二个参数。// 等号两边不能有空格。echo '$a' 原样输出,// a。* 表示所有 如果使用乘法 需要/*
2024-05-13 21:46:38
309
原创 共用体 内存大小端
union 共用体名{数据类型1 成员变量1;数据类型2 成员变量2;数据类型3 成员变量3;.....结构体每个成员变量空间独立共用体每个成员变量空间是共享的。
2024-05-06 21:42:14
144
原创 结构体 1
struct 类型名数据类型1 成员变量1;数据类型2 成员变量2;.......结构体中的数据类型可以是:1.基本数据类型2.数组3.构造数据类型数据类型 变量名。
2024-04-30 16:46:23
84
原创 指针 3
二维数组的数组名是指向第一行所有元素的一个数组指针。指针函数是函数,函数返回值是指针。a 指向第一行元素,a[1] 指向第二行。不能返回局部变量的地址。二维数组访问第m行第n列元素。
2024-04-29 20:57:24
149
原创 指针2
void * 作为函数参数,可以传递char *,double *、int *的指针,实现一个函数下的不同类型指针传参。3const 修饰p p不可以改变,但是*p 可以改变,这一定要初始化,不然一直是野指针;int *a[5] : 定义一个数组,数组名为a,有5个元素,每个元素为int * 型。**p == 1 *(*p + 1) == 2 // a本身是地址 &a 两个访问。对数组指针*,值不变,类型降级为指向第一个元素的指针 *&a。&a == int(*)[5] // &a+1 40个字节。
2024-04-28 17:23:37
1299
原创 指针1
int *a;*a = 12;不能这样操作,a的初始值会是个非法地址。int b= 12;等价于 int *a= NULL;p = &b;在64位操作系统中,所有指针均占8个字节;int * 指向4字节空间野指针:未经初始化的指针或指向已经被释放过空间的指针。不要使用未经初始化的指针NULL:空指针 指向内存地址为0x0的指针。
2024-04-26 17:14:33
311
2
原创 计数排序
数组内容 2 1 0 2 1 3 0 2。arr[i] - min 就是数组内容存储值对应的下标 arr[2] - 2 = 1 3对应的下标为1。i + min 存储的值 0+ 2 = 2 1+2 =3。使用一个新的数组,数组大小为待排数组最大值减去最小值加1。存储数组最小值到最大值出现的次数。使用大小为8 的数组。
2024-04-25 20:50:26
420
1
原创 堆排序
交换之后,堆的性质可能被破坏,因为新的堆顶元素不一定是最大的了。因此,需要进行堆调整操作,将剩余元素重新构成一个最大堆。堆顶元素是最大值,将其与最后一个元素交换,相当于将当前最大值放到了已排序部分的末尾。此时最大值为有序序列。5的索引是 1 父节点(1 - 1)/ 2 = 0 左节点2x1+1 = 3。即每个节点都比其子节点大(对于最大堆而言)。调整堆:不断重复,下次调整不算最后的有序序列。数组 a[i] 10 5 7 2 3 6。在建立最大堆的过程中,堆的性质会被满足,确保堆顶元素为最大值。
2024-04-25 11:11:32
400
1
原创 栈 堆 static extern
变量能够使用https://img-blog.csdnimg.的范围:从变量被分配空间到回收:作用域在该变量定义的大括号类,没有初始化之前值随机,执行到变量定义时开辟空间,超过作用域范围回收作用域在全局均可以使用:局部变量,没有初始化之前值随机,执行到变量定义时开辟空间,超过作用域范围回收:new,malloc realloc 分配的内存区,需要手动释放。:未经初始化前值为0,编译的时候开辟空间,程序结束回收变量空间存放已初始化全局变量,静态变量未初始化全局变量,静态变量存放字符串常量,10 ,“qewe”
2024-04-24 19:23:30
366
原创 fgets fputs 替换 gets puts
接收时会将换行符也接受,如果像上面有11个字符则不会接收,位置给\0。实际会接受11个字符,预留一个字符成为'\0'不会像puts();puts 没有字符串结尾\0不停止输出。使用这两个函数替换gets,puts。gets 不检测缓冲区大小。使用fputs 输出。
2024-04-24 13:55:33
270
原创 字符数组
大小为6 带\0 字节数。sizeof(a) 大小为8个字节(指针大小) strlen(a) = 5;两个字符串从左到右比较,第一个不相同的字符的ascall码值。字符串长度:字符串开头到结束,不包含\0 使用strlen。不能用scanf接收a,静态常量区。返回>0 str1>str2。返回<0 str1<str2。二维字符数组的第一维可以省略。
2024-04-23 20:59:40
183
原创 swap(int* a,int* b)
c++ 中可以直接使用swap(a[3],a[4]);c 中则要使用swap(&a[3],&a[4]);
2024-04-22 15:14:31
96
1
原创 希尔排序
直接在插入排序基础上加一层gap变化,把里面的步长变化由1改为gap。使用gap 每次折半进行插入排序,最后一次步长为1,肯定排好序。将大的值小的值聚集在一起。
2024-04-17 21:07:24
289
原创 linux c基础 3
getchar有缓冲区机制,可以输入多个字符,但只读取一个,输入多个时后面会自动读取;getchar 在终端屏幕接收一个字符 ch = getchar();putchar 在终端屏幕打印一个字符 putchar('a');小数据放到大空间补位,有符号位补符号位,无符号数补0。\r 回车符 回到最左,1,2,3变化 \a 响铃。%5d %nd表示域宽(不足域宽,高位空格补齐);无符号和有符号类型:无符号精度高于有符号。输出 a = 1,b =1, c =5;
2024-04-17 20:05:06
188
原创 插入排序
将数组看成两个数据,第一个一位数字设为有序数组,将后一个值与前面的值逐一比较,大于直接放在原位置,小于则每次比较的值后移一位,找到合适位置插入。
2024-04-17 20:02:28
111
原创 linux基础
ctrl + alt + t 打开终端ctrl + shift + '+' 放大字体ctrl + '-' 缩小字体ctrl + alt + 回车 全屏显示/取消全屏显示linux:当前登录的用户linux-virtual-machine:系统的名字~:当前系统所在的目录1.系统命令2.系统调用(内核提供的函数)3.库函数查看当前目录下所有的文件蓝色 目录文件(文件夹)白色 普通文件(文本文件):图片、音视频、压缩包ls -a。
2024-04-15 20:07:59
1813
空空如也
野火 rtthread
2022-11-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人