摘要: 野指针产生的问题: 野指针的定义: 野指针是指:指向一个已删除的对象或未申请访问受限内存区域的指针。与空指针不同,野指针无法通过简单地判断是否为NULL避免,而只能通过养成良好的编程习惯来尽力减少。对野指针进行操作很容易造成程序错误。 野指针的产生原因: 1. 指针变量未初始化: 任何指针变量刚被创 阅读全文
posted @ 2017-12-02 10:35 Kernel001 阅读(375) 评论(0) 推荐(0) 编辑
摘要: Shell 脚本编程语法: 注: 文章来源 http://www.cnblogs.com/yunquan/p/6821850.html 视频来源:https://www.bilibili.com/video/av10565321/index_1.html?t=684 这里每个语句都要有空格控制,不然 阅读全文
posted @ 2017-11-21 10:36 Kernel001 阅读(1423) 评论(0) 推荐(0) 编辑
摘要: Git: 何为Git: Git 是一个可以实时记录文件变化、维护文件的安全的一个仓库! Git仓库是由 Linux 系统之父 Linus Torvalds 创建的一个开源 的软件!Github 是Git仓库的 云仓库,可以完成文件随时推送,它还采取SSH加密方式传输,这使得文件管理更加安全、方便 背 阅读全文
posted @ 2017-11-21 10:02 Kernel001 阅读(282) 评论(0) 推荐(0) 编辑
摘要: MarkDown 什么是Markdown 定义 markdown 是一款轻量级标记语言,功能没有HTML标记语言那么强大 ,Markdown专注书写! 试用人群: 程序员/等计算机爱好者 Markdown 语法: · 标题 标题名 共有6级标题 · 列表 有序 : 序号.+空格 …… · 代码 使用 阅读全文
posted @ 2017-11-20 13:36 Kernel001 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 1.C++实现动态二维数组 2.利用指针数组实现二维数组 3.利用向量实现二维数组 阅读全文
posted @ 2017-11-17 23:18 Kernel001 阅读(5161) 评论(0) 推荐(0) 编辑
摘要: 4. 数组和vector不同,一个数组不能用另一个数组初始化,也不能将一个数组赋值给另一个数组; vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分 ,为了使用vector 我们必须包含相关的头文件 : #include <vect 阅读全文
posted @ 2017-11-17 20:56 Kernel001 阅读(16203) 评论(0) 推荐(0) 编辑
摘要: 今天,没事的时候,就去Bilibili搜了一下关于ACM相关的内容,看到了一个个人觉得对大家都有帮助的东西,所以就来分享一下! Firstly,不断的尝试ACM题,不断的汲取经验 Scendly,找到对的方法: 1.合理使用OJ评测系统进行知识积累 推荐评测网站 Virtual Judge 2.要有 阅读全文
posted @ 2017-11-17 16:06 Kernel001 阅读(390) 评论(0) 推荐(0) 编辑
摘要: swap()函数总结: 一、利用临时变量 1.引用(交换任意类型) 2.泛型指针() 二、 不用临时变量交换 1.数学运算 1)乘 2)加 2.逻辑运算(相对其他的方法更高效) 三、宏函数(注意不要有任何换行操作,或者使用换行符‘\’) 阅读全文
posted @ 2017-11-10 13:53 Kernel001 阅读(4190) 评论(0) 推荐(0) 编辑
摘要: 1.创建IPC对象 2.创建、获取共享内存 3.加载共享内存 4.卸载共享内存 5.销毁/控制共享内存 6.消息队列 创建/获取消息队列 发送消息 接收消息 销毁或控制消息队列 7.信号量 创建\获取信号量集 操作信号量集 销毁\控制信号量集 阅读全文
posted @ 2017-11-09 19:06 Kernel001 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 1.信号处理 2.信号处理函数 3.调用函数发送信号 杀死进程信号 向调用进程发送信号 4.暂停 5.睡眠 sleep(seconds) usleep 6.闹钟 alarm 7.信号集 填满信号集 清空信号集 加入信号 删除信号 判断信号是否在信号集中 8.信号屏蔽 信号掩码 获取调用进程的未决信号 阅读全文
posted @ 2017-11-09 11:47 Kernel001 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 1.获取进程ID 2.获取实际用户ID和实际用户组ID 3.有效用户ID和有效组ID 4.进程创建 5.进程正常退出 exit退出处理函数 _exit()和_Exit() 6.遗言函数 7.异常终止进程 8.进程回收处理 wait waitpid 9.exec在一个进程上创建新的进程,但pid会不变 阅读全文
posted @ 2017-11-08 19:52 Kernel001 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 1.文件访问测试 测试调用进程对指定文件是否拥有足够的访问权限 2.权限掩码: 设置调用进程的权限掩码: 3.修改文件权限 修改指定文件的权限: 4.修改文件大小 指定文件的大小: 5.内存映射文件 建立虚拟内存到物理内存或文件的映射 6.解除虚拟内存到物理内存或文件的映射 7.文件硬链接 创建一个 阅读全文
posted @ 2017-11-08 00:35 Kernel001 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 一、C++对象的创建: 对象创建的注意事项: 1.对象数组里的个数,就是创建对象的个数,普通数组一样;下标从0 到数组里数字 -1; 2.类名* 对象指针 <--> 这里只是一个指针,占4个字节,所以就不得初始化; 这里的执行结果是 调用了构造函数调用了构造函数调用了构造函数调用了构造函数 调用了构 阅读全文
posted @ 2017-11-02 20:24 Kernel001 阅读(685) 评论(0) 推荐(0) 编辑
摘要: 一、Archlinux的由来 2002年由加拿大的Judd Vinet,Archlinux的创始人 怀着对Debian、Redhat的包管理器不满,于是创建了Archlinux!目前ArchLinux只支持x86_64 的64位系统 二、Archlinux的特征 1.简洁、优雅、正确和代码最小化 换 阅读全文
posted @ 2017-10-27 21:23 Kernel001 阅读(2500) 评论(0) 推荐(0) 编辑
摘要: ——Windows下编码 1.Windows下的编码默认使用的是 UNICODE,两个字节!这样就可以防止乱码的情况的出现!但是UNICODE 这种编码方式很费内存资源 2.编码的发展: 由于计算机是由美国发明的,所以当时只能支持英语,但是说英语的国家很少,再者当时计算机的硬件是十分昂贵!所以先发展 阅读全文
posted @ 2017-10-27 18:58 Kernel001 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 调用函数可以使用被调用函数动态分配的 存储区 calloc函数也可以动态分配一组连续的 存储区 这个函数可以把所有动态分配的存储区 内容设置成0 为了使用这个函数也需要包含stdlib.h头文件 这个函数需要两个参数,第一个参数表示要 分配的存储区个数,第二个参数表示单个 存储区的大小 这个函数的返回值也是分配好的第一个存储区 的地址 这个函数也可能... 阅读全文
posted @ 2017-10-26 09:12 Kernel001 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 一个存储区的地址必须是它自身大小的整数倍 (double类型存储区的地址只需要是4的 整数倍) 这个规则叫数据对齐 结构体里面的子存储区通常也需要遵守数据 对齐的规则 数据对齐会造成结构体内部子存储区之间 有空隙 结构体存储区的大小必须是它所包含的基本类型 存储区中占地最大类型存储区大小的整数倍 (如果这个基本类型是double类型则结构体 ... 阅读全文
posted @ 2017-10-26 09:11 Kernel001 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 指针数组里的每个存储区是一个指针类型 的存储区 字符指针数组里包含多个字符类型指针,其中 每个指针可以表示一个字符串 字符指针数组可以用来表示多个相关字符串 主函数的第二个参数是一个字符指针数组, 其中每个指针代表一个字符串,所有 这些字符串的内容都来自于用户的命令 主函数的第一个参数是一个整数,它表示 第二个参数里的指针个数 #define预处理指令可以... 阅读全文
posted @ 2017-10-26 09:09 Kernel001 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 多文件编程时一个文件里可以包含多个函数, 一个函数只能属于一个文件 多文件编程的步骤 1.把所有函数分散在多个不同的源文件里 (主函数通常单独占一个文件) 2.为每个源文件编写一个配对的以.h作为 扩展名的头文件(主函数所在的源文件 不需要配对的头文件).不分配内存的内容 都可以写在头文件里,头文件里至少要 包含配对源文件里所有函数的声明。 3.... 阅读全文
posted @ 2017-10-26 09:09 Kernel001 阅读(537) 评论(0) 推荐(0) 编辑
摘要: 使用存储区的地址作为返回值可以让调用 函数使用被调用函数的存储区 这种时候被调用函数需要提供一个指针类型 的存储区记录作为返回值的地址数据 不可以把非静态局部变量的地址作为返回值 使用 C语言里的文字信息必须记录在一组连续 的字符类型存储区里 所有文字信息必须以'\0'字符做结尾,这个 字符的ASCII码就是数字0 符合以上两个特征的内容可以用来在C语言 ... 阅读全文
posted @ 2017-10-26 09:08 Kernel001 阅读(166) 评论(0) 推荐(0) 编辑