C 语言
文章平均质量分 55
ibbo
Android Developer !
展开
-
1-vi编辑器与编译
VI编辑器命令模式 进入编辑模式, i a o 或者 I A O 进入底行模式, shift + ; 或者 空格复制 yy : 复制一行 3yy : 复制3行 鼠标选中 ,y剪切 dd : 删除一行 3dd : 删除三行 dd : 删除一行粘贴 : p撤销 : u重做 : ctrl + l底行模式 w 保存 q原创 2017-02-03 14:54:33 · 417 阅读 · 0 评论 -
12-Shell脚本_练习
变量 :使用变量时, 必须在变量名前加$用户自定义变量 : 没有数据类型和存储类型直接定义使用, 在定义时必须赋值在 = 的左右两端不要出现空格符 如果值出现空格, 需要使用” “echo $var : 不关心不可见字符echo “$var” : 原样输出 *exit : 退出 , 结束* 一条命令的输出结果作为值赋给变量时, 需要使用 ` ` (命令置换符)vi 分屏 :原创 2017-02-03 15:04:50 · 282 阅读 · 0 评论 -
13-Makefile基本语法
* head.h : 函数声明 、头文件名(C库、系统调用) 、全局变量 、 宏替换、结构体类型声明make 文件 :1、 Makefile makefile GNUmakefile 在同一目录下只能出现一者执行方式 : make2、test.mk test.AIX test.Linux执行方式 :make -f test.mk目标文件:依赖文件 通过依赖文件得到目标文件的命令原创 2017-02-03 15:05:03 · 164 阅读 · 0 评论 -
14-链表用法_案例代码
链表代码 1 :#include <stdio.h>typedef struct node{ int data[10]; int newdata[0];}list_t;int main(int argc, const char *argv[]){ list_t list; printf("%d\n",sizeof(list_t)); printf("%p\n",&li原创 2017-02-03 15:05:19 · 177 阅读 · 0 评论 -
15-双向链表用法_案例代码
双向链表代码 1 :#include <stdio.h>#include <stdlib.h>typedef int data_t;typedef struct node{ data_t data; struct node * front; struct node * next;}duolist_t;//创建duolist_t* create_duolist(){原创 2017-02-03 15:05:43 · 194 阅读 · 0 评论 -
16-栈的几种用法_案例代码
栈:代码 1 : stack#include <stdio.h>#include <stdlib.h>//类型typedef struct node{ int *data; int top; int size;}stacks_t;//创建stacks_t * create_stack(int size){ if(size<0||size>1024)原创 2017-02-03 15:05:58 · 194 阅读 · 0 评论 -
17-tree_queue_linkstack_linkqueue_代码案例
代码 1 : tree#include <stdio.h>#include <stdlib.h>typedef struct node{ int data; struct node * lchild; struct node * rchild;}tree_t;//创建tree_t* create_tree(int data,int max){ if(data>ma原创 2017-02-03 15:06:21 · 245 阅读 · 0 评论 -
18-io_ctags配置
I/O man 1 命令 man 2 系统调用 内核给用户留出的接口 man 3 库 以二进制形式存在的函数集合文件类型 :-普通文件 ( 二进制、ASCII )p 管道d 目录s 套接字l 链接c 字符设备b 块设备Input:输入:数据由内核空间流向用户空间流:用来表示数据的方向标准IO中 系统预定义的3个流: stdin标准输入std原创 2017-02-03 15:06:49 · 218 阅读 · 0 评论 -
19-io_文件权限掩码_动态库_静态库
I/O* 标准IO:库 带缓存 通过流FILE * 操作文件* 文件IO:系统调用 不带(内核缓存) 通过文件描述符操作文件* 文件描述符: !最小未用非负整数 作为一个索引来操作文件使用open :flags:必须3选1:O_RDONLY,O_WRONLY,O_RDWRO_APPEND 追加O_CREAT 使用这个参数必须指定modeO_EX原创 2017-02-03 15:07:32 · 303 阅读 · 0 评论 -
11-linux-c基础2
diff : 比较两个文件diff:比较两个文件diff file1 file2 : 如果在终端屏幕没有任何显示结果, 代表两个文件内容一致打补丁 :1、diff -ruN old new > diff.txt 2、cd old3、patch -p1 < ../diff.txt : 打补丁操作patch -Rp1 < ../diff.txt : 撤销补丁操作压缩文件: (操原创 2017-02-03 15:04:33 · 154 阅读 · 0 评论 -
10-linux-c基础_管道_putty配置
内核版本 :主版本号.次版本号.释出版本-修订版本主、次为奇数 : 开发版主、次为偶数 : 稳定版软件包 :软件包名称软件版本-修订版本体系架构.deb * sudo : 借助某些用户的权限完成操作 , 默认为root用户.软件包安装dpkg :1、离线安装, 安装的软件包必须事先存在.2、不会对软件包的依赖关系进行检查安装 : sudo dpkg -i 软件包卸载 : sud原创 2017-02-03 15:03:34 · 312 阅读 · 0 评论 -
2-变量类型_变量_内存分区
八进制 与 二进制一位八进制数 对应 三位二进制数十六进制 与 二进制一位十六进制数 对应 四位二进制数进制二进制 : 0b 或者 0B八进制 : 0 0123十六进制 :0x 或者 0X数据类型:short短整型 占用 2个字节int整型 占用4个字节 16位系统下 , int 占2个字节long长整型 占用4个字节(32) 8个字节(64位系统下)原创 2017-02-03 14:57:23 · 245 阅读 · 0 评论 -
3-man手册_字符串处理函数
man 手册man 1 : 命令man 2 : 系统调用man 3 : C库函数参数查询vim -t 参数名继续向下查找; ctrl + ]返回上一层; ctrl + ovim -t 需要安装 ctags 解压内核 tar -vxf 压缩文件切换到内核目录下ctags -R 生成tags文件配置~/.vimrc 加入一行 set tags+=tags路径格式输出函数 : in原创 2017-02-03 14:57:59 · 394 阅读 · 0 评论 -
4-循环练习_数组
循环练习:1、 求出1到10000 之间的完全数.#include <stdio.h>int main(int argc, const char *argv[]){ int num, sum = 0; int i; for(num = 1; num <= 10000; num++) { for(i = 1, sum = 0; i <= num/2; i+原创 2017-02-03 14:58:46 · 355 阅读 · 0 评论 -
5-二维数组_练习_字符串处理函数_指针
二维数组 :存储类型 数据类型 数组名[行数][列数]列数不能够省略 , 行数可以省略数组元素的引用 : 数组名[行标][列标]练习 :1.找出二维数组中的最大值, 如果有多个最大值, 找出其位置以及数值.(不要排序).#include <stdio.h>int main(int argc, const char *argv[]){ int a[3][4] = {{1,23,4,原创 2017-02-03 15:01:24 · 571 阅读 · 0 评论 -
6-字符指针_删除字符串中的空格_register_指针数组
字符指针 :在给字符指针初始化赋值时, 如果赋的值为字符串常量的首元素的地址; 则在后面的代码中, 不能通过该指针去修改字符串常量中字符的值.练习 :删除字符串中的空格. “hell o” === “hello”,输入的为”quit” ; 结束程序.#include <stdio.h>#include <string.h>int main(int argc, const char原创 2017-02-03 15:02:06 · 1594 阅读 · 2 评论 -
7-函数指针_字符串转整数练习
当参数为:一个普通变量时变量的值 : 复制传参变量的地址 : 地址传参函数 : 获取两个变量num1 = 123, num2 = 456;完成数值交换 ==> num1 = 456, num2 = 123;练习 :输入一个字符串 “1234” , 得到整型值 1234 ;#include <stdio.h>int fun(char *p){ int num = 0;原创 2017-02-03 15:02:39 · 272 阅读 · 0 评论 -
8-数据类型_处理5个学生的数据
数据结构练习:构造一个学生类型 : 姓名, 年龄, 学号, 成绩处理5个学生的数据;循环输入学生信息;找出成绩最高的学生, 并且打印其信息(注意:不要排序).按照成绩排序, 并且打印其信息.#include <stdio.h>typedef struct student{ char name[128]; int age; int id; int scor原创 2017-02-03 15:03:07 · 469 阅读 · 0 评论 -
9-malloc练习
malloc 练习 :#include <stdio.h>#include <stdlib.h>#include <string.h>void getmemory(char *p){ p = (char *)malloc(100);}int main(int argc, const char *argv[]){ char *str = NULL; getmemor原创 2017-02-03 15:03:20 · 281 阅读 · 0 评论 -
20-进程_pstree_kill_fork_execl_waitpid_练习
进程* 进程 程序的一次动态执行过程进程生命周期:创建:创建虚拟地址空间、地址空间分段,创建task_struct结构(PCB进程控制块)调度:内核管理task_struct结构组成的链表,根据优先级和进程属性分配时间片执行:进程获得时间片到cpu中执行消亡:进程结束,回收虚拟地址空间,由父进程回收task_struct结构。虚拟地址空间分段:stack:栈区,存放局部变量、函数传原创 2017-02-03 15:08:04 · 276 阅读 · 0 评论