自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HiMark

不会写诗歌的马克吐温

  • 博客(23)
  • 收藏
  • 关注

原创 C语言实现一个简易通讯录(附图验证)

实现一个通讯录; 通讯录可以用来存储1000个人的信息,每个人的信息包括: 姓名、性别、年龄、电话、住址实现一下功能: 1. 添加联系人信息 2. 删除指定联系人信息 3. 查找指定联系人信息 4. 修改指定联系人信息 5. 显示所有联系人信息 6. 清空所有联系人 7. 以名字排序所有联系人 方法用静态顺寻表来实现较为简单...

2018-03-30 00:20:35 3440 1

原创 yum安装与rpm安装的区别

主要的区别在于: rpm :只能安装已经下载到本地机器上的rpm包,无法解决软件包的依赖关系。 yum:在线下载并安装rpm包,能更新系统,能自动处理包与包之间的依赖问题。yumYUM被称为 Yellow dog Updater, Modified,是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。YUM使用Python语言写成。YUM客户端基于RPM包进行管理,可以

2018-03-29 10:59:44 4602

原创 Linux入门 安装的常用方式(源码,rpm,yum)介绍

源码包源码包一般是(tar.gz、tar Z、tgz或tar.bz2)为后缀名源码安装(make install)阶段: 1 tar zvf x.tar.gz # 解压 2 ./configure [arg] # 配置 3 make # 编译 4 make install # 安装 源码卸载 1 make uninst

2018-03-29 10:50:35 182

原创 Linux 常用编辑器优缺点对比

1 、VimVim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。2 、EclipseEclipse是一款很酷的开源代码编辑器,同时它也是最受程序员亲睐的代码编辑器之一,它拥有代码高亮和智能提示等强大的功能。在Eclipse中,你可以完全胜任以下编程语言的工作——Python, R,

2018-03-29 09:49:46 4633

转载 Centos6.5 VIM一键配置

vim配置全攻略写在前面折腾有风险, 作死请谨慎.善用虚拟机的快照功能, 能够节省大把的时间. 转载自:https://gitee.com/HGtz2222/EasyVimConfig/blob/master/README.md# 鉴于文章功能强大且易上手转来方便大家的学习,使用的同时尊重原版作者。vim低配版简介该份配置是基于我在2013年左右使用的一套配置,...

2018-03-29 09:39:32 1808

原创 Linux 进度条的实现c语言版本

//proc.c#include<stdio.h> #include<unistd.h>void proc(){ int rate=0; //表示进度走了%多少了 char bar[102]={0}; //0-100 是101个 102设置为空 const char *sta="-\\|/"; //判断进度条是否卡了 while(r

2018-03-29 01:53:42 342

原创 顺序表的实现插入删除

实现基于静态数组的顺序表的以下基本操作: 1. 初始化 2. 尾插 3. 尾删 4. 头插 5. 头删 6. 读任意位置元素 7. 修改任意位置元素 8. 查找指定元素值的下标 9. 在任意位置插入元素 10.删除顺序表中指定的值, 如果存在重复元素, 只删除第一个 11.删除顺序表中所有的指定的值, 另外要实现一个时间复杂度为 O(N) 的优化版本 12

2018-03-28 15:43:47 4905

原创 结构体内存对齐问题(附案例解析)c语言

为什么存在内存对齐?平台原因(移植原因) 不是所有的硬件平台都能访问任意地址上的任意数据性能原因 为了访问未对齐的内存,处理器需要作两次内存访问;而对齐的内存访问仅需一次访问总体来说就是: 结构体的内存对齐是拿空间换取时间的做法如何计算结构体的大小?结构体对其规则:第一个数据成员放在偏移量为0的地方,以后每个数据成员存储的起始位置要从该成员大小的整数倍开始(比如int在32位机为4字节,

2018-03-13 16:09:59 380

原创 计算器的另一种实现方式(转移表)含思想 C语言

计算器的一种实现方式 转移表“转移表” double (*operation_fun[])(double,double)={add,sub,mul,div,......}; 和状态有关应用if-else结构或者switch语句进行一些状态的切换,如果遇到比较复杂情况,转移次数达到数百次或者数千次,如果再使用if-else结构或者switch语句,维护起这个软件系统,工...

2018-03-13 10:51:37 393

原创 文件操作总结

文件操作“打开”fopen 文件指针名=fopen(文件名,使用文件方式)FILE *fp; fp=(&quot;file a&quot;,&quot;r&quot;); 意义:在当前目录下打开文件file a进行“读”操作,并使fp指向该文件。FILE *fp fp=(&quot;c:\\test&quot;,&quot;rb&quot;) 意义:打开C盘的根目录下的文件test, 这是一个二进制文件,只允许按二进制

2018-03-09 00:15:23 234

原创 自定义strstr函数的实现C语言

strstr功能strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。strstr实现#include<stdio.h>#include<assert.h>const char* my_strstr(const char *str1, const char *str2){ asse

2018-03-05 16:09:07 1269

原创 strcpy与strncpy函数的区别及其C语言实现过程

strcpy : 从源串的开始到结尾('\0')完全拷贝到目标串地址,当src串长度大于dest串长度时,程序仍会将整个src串复制到dest区域,可是dest数组已发生溢出.(使用时需注意)strncpy : src串的开始拷贝n个字符到dest串地址,n大于src串长度时,遇到'\0'结束; n小于src串长度时,到第n个字符结束,但不会在dest串尾补'\0'.str...

2018-03-05 14:31:41 756

原创 自定义strlen函数的三种(简易)实现方式C语言

实现方式一: 指针#include<stdio.h>int my_strlen(char *str) { char *p = str; while (*p != '\0') { p++; } return p - str; }//方法二:计数器实现//int my_strlen(const char *str)

2018-03-05 11:08:22 6091

原创 C语言头文件中源文件与本地文件的区别

源文件<>与本地文件“ ” 的区别系统自带的头文件用 < > 表示,这样编译器会在系统文件目录下查找。用户自定义头文件用 “ ” 表示,编译器首先会在用户目录下查找,然后再去系统文件目录下查找头文件包含顺序问题 1 尽量将系统头文件写在自定义头文件的前面 2 在用户自定义头文件中 将使用到的声明的头文件写在前面,否则在调用的时候可能会出现在未声明的问题从而产生错误。

2018-03-02 17:51:02 1479

原创 头文件使用#ifndef#define #endif的好处及原因

宏定义 #ifndef #define #endif 最主要目的是防止头文件的重复声明和编译#ifndef __TEST_H__#denfine __TEST_H__#endif __TEST_H__ifndef 指示会发现TEST已经定义返回假,并且忽略该头文件的剩余部分。引用宏定义 #ifndef 为了防止在执行时对头文件进行重复的编译和声明,...

2018-03-02 17:04:04 783

原创 Linux入门工具Valgrind检测内存泄漏问题

Valgrind 检测内存泄漏和内存越界 测试如下//valgrind()测试如下#include<stdio.h>void fun(){ int *a =malloc((sizeof)int); p[10]=100;}int main(){ fun();printf("finishi\n");}valgrind ./a.out(检测) :可

2018-03-02 16:00:39 152

原创 Linux入门GDB调试的简易使用

GDB 的功能介绍 1、可以按照自定义运行程序。 2、可让程序在指定断点处停住。(断点可以是条件表达式) 3、当程序被停住时,可以检查程序。 4、动态的改变程序的执行环境。gdb ./文件名 list n行号 (N行开始) list 函数名 (函数开始) list break (断点信息)gdb(gdb) ...

2018-03-02 15:42:06 183

原创 Linux入门gcc编译器的使用简易介绍

gcc 编译器的使用gcc(选项)(参数)-o:指定生成的输出文件;-E:仅执行编译预处理;-S:将C代码转换为汇编代码;-wall:显示警告信息;-c:仅执行编译操作,不进行连接操作。set set ts=4 设置Tab的键入大小:V shift < shift > x 复制 p 粘贴多个文件一起编译gcc testfun.c test.c

2018-03-02 15:26:08 1034

原创 Linux中Vim编译器的基本使用规则介绍

vim 编译器的使用vim +文件名 (i进入编辑) (Esc进入命令模式) (:进入末行模式) (w:写入磁盘模式) 写入后自动退回到命令模式 :x退出命令模式 :q!不保存退出

2018-03-02 09:03:31 200

原创 Linux入门常用10个基本小命令04

1 unameuname 获取计算机信息2 elf可执行文件名 PE (WINDOWS) ELF (LINUX)3 filefile 查看文件类型-b  列出辨识结果时,不显示文件名称。-c  详细显示指令执行过程,便于排错或分析程序执行的情形。-f<名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名

2018-03-01 18:09:45 208

原创 Linux入门常用10个简易小命令 03

1 echo echo &gt; 输出重定向:重新定向输出内容的目标位置&gt;&gt; 追加输例如 echo "this is my time"&gt; myfile echo "this is my time"&gt;&gt; myfile2 seq seq strat end 产生从开始到结束的数字序列3 1| 21|2 管道将1的...

2018-03-01 17:19:36 176

原创 Linux 入门常用10个简易小命令02

1 Tabtab 自动补全2 ctrl c ctrl z ctrl d 区别ctrl d 表示一个特殊的二进制值,表示 EOF。(指从键盘输入EOF)运行结束ctrl c 终止正在运行的程序。 ctrl z 挂起一个进程.可后续切换出继续执行 fg 切换暂停3 manman man 帮助手册 j向下滚动 k向上滚动 q 退出 1 命令 2

2018-03-01 16:43:02 224

原创 Linux入门10个常用简易小命令01

1 ifconfigifconfig -a eth0 查看eth0端口的网络ip信息2 su 一般用户与root用户的切换 $ su rootPassword:exit : 退出账户3 ls ls 查看目录下面的内容 -a (所有文件) -l 列出文件的详细信息 -d 将目录象文件一样显示 -o 显示文件的除组信息...

2018-03-01 16:11:48 1320

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除