Linux
卡卡fantic
这个作者很懒,什么都没留下…
展开
-
Linux C语言:递归函数
7-1 Linux C 递归函数之递归调用原创 2020-02-08 13:24:46 · 292 阅读 · 0 评论 -
Linux C语言:位运算
6-1 c位运算之按位与C语言提供了6种位运算符:按位与&1、必须是int或者char,而且参与运算的数必须要以补码(正数的补码是本身,负数的补码是反码加1)的方式出现;2、作用:迅速清零、保留数据的指定位、判断奇偶性(跟1与,得1则是奇数);6-2 c位运算之按位或作用:设定数据的指定位;6-3 c位运算之按位异或和按位取反一、按位异或:作用:1、定位反转(与全...原创 2020-02-02 13:15:18 · 402 阅读 · 0 评论 -
Linux C语言:动态数据结构
5-1 Linux C 动态数据结构–静态链表链表里的各个地址不一定是连续的;静态链表的定义、初始化以及遍历:#include <stdio.h>struct weapon{ int price; int atk; struct weapon *next;};int main(){ struct weapon a,b,c,*head; a.price = 1...原创 2020-02-01 14:34:10 · 265 阅读 · 0 评论 -
Linux C语言:公共体/联合体
1、共用体的用法:#include<stdio.h>union data{ int a; char b;};int main(){ union data data_1; data_1.b ='C'; data_1.a=10; printf("%d\n%d\n",data_1.a,data_1.b); return 0;}输出结果:linux@ubun...原创 2020-02-01 12:37:55 · 442 阅读 · 0 评论 -
Linux C语言:结构体
1 . 结构体的声明和定义结构体:不同类型变量数据的集合;第一种定义方式(最常用):#include<stdio.h>struct weapon{ char name[20]; int atk; int price;}int main{ struct weapon weapon_1={"weapon_name",100,200}; return 0;}第二种...原创 2020-01-31 22:50:36 · 399 阅读 · 0 评论 -
Linux C语言:预处理
1 . 什么是预处理编译分为4个步骤:① .c文件生成.i文件,预处理;② .i文件生成.s文件,编译;③ .s文件生成.o文件,汇编;④ .o文件生成可执行文件,链接;文件中:$可以直接到文件底部;gcc -o main.i main.c -E生成预处理文件,-E表示只进行预处理;、查看预处理文件只需 vi main.i预处理做的第一件事:展开头文件,在.i文件中可以显示,...原创 2020-01-12 17:22:54 · 433 阅读 · 0 评论 -
Linux C语言:字符串与数组
1 . 数组申明的内存排列数组的大小不能用变量;#include <stdio.h>int main(){ int a=3; int b=2; int array[3]; array[0]=1; array[1]=10; array[2]=100; int *p=&a; int i; for(i=0;i<6;i++) { printf("*...原创 2020-01-11 13:17:59 · 700 阅读 · 0 评论 -
Linux C语言:指针与内存
1 . 计算机中的数据表示方法单位:字节(byte)1byte = 8 bit计算用二进制显示为十进制编程为十六进制2 . 内存管理Q : 32位系统 最大使用4G内存?A : 32位系统,地址总线是32位,也就是寻址空间是32位;32位指的是:给内存编号只能编到32个二进制位;32根地址总线就是232个状态;232 = 210 *210 *210 *4=1k * 1k * ...原创 2020-01-09 20:34:33 · 292 阅读 · 0 评论 -
Linux C语言:gdb工具的使用
1.先写一个不能正确change的代码:linux@ubuntu:~/workspace/pointer$ cat main2.c#include<stdio.h>void change(int a ,int b){ int tmp=a; a=b; b=tmp;}int main(){ int a=5; int b=3; change(a,b); pri...原创 2020-01-06 22:18:29 · 141 阅读 · 0 评论 -
Linux C语言:初始指针
例子:#include<stdio.h>void change(int *a ,int *b){ int tmp=*a; *a=*b; *b=tmp;}int main(){ int a=5; int b=3; change(&a,&b); printf("num a=%d\nnum b=%d\n",a,b); return 0;}运...原创 2020-01-06 21:28:57 · 215 阅读 · 0 评论 -
Linux C语言:管道原理及应用
1执行:ls /etc/ | grep ab 运行结果:anacrontabblkid.tabcrontabfstabfstab.diftabmtabmtab.fuselock| 是管道,把ls的标准输出流输入到 grep的标准输入流中其中,gerp 是搜索程序 ,搜索该目录下所有含有ab的文件2linux@ubuntu:~/workspace/les5$ ps ...原创 2020-01-06 12:15:47 · 312 阅读 · 0 评论 -
Linux C语言:标准输入流输出流以及错误流
1#include <stdio.h>int main(){ // printf("please intput a number :\n"); fprintf(stdout,"please input a number :\n"); int a; // scanf("%d",&a); fscanf(stdin,"%d",&a); if(a<0)...原创 2020-01-06 11:58:38 · 407 阅读 · 0 评论 -
Linux C语言:main函数的参数int argv 和 char* argc [ ]
1. int argvargv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要输入的main函数的参数个数是argc-1个。例:./main.out 的 argv=1./main.out -l 的 argv=2./main.out -l-a 的 argv=...原创 2020-01-01 18:19:59 · 615 阅读 · 0 评论 -
Linux C语言:Makefile的使用
Makefile可以更高效的编译文件1. make -v检查是否安装Makefile若没有,则输入指令 apt-get install make 进行安装2. vi Makefile创建并编译文件3. 编译文件书写的一个例子# this is make file //注释hello.out:max.o min.o hello.c //生成.out文件所需的文件 gcc...原创 2020-01-01 17:04:28 · 219 阅读 · 0 评论 -
Linux C语言:常用指令
1.cd /:切换到根路径cd :切换到家目录cd ~:切换到家目录cd /home/linux :切换到家目录cd 路径:跳转到某路径下cd …:返回上一层路径cd .:返回到当前路径,无任何变化cd -:返回上一次操作的路径2.pwd : 查看当前所在路径ls : 显示当前路径下的文件ls -l : 显示文件的权限、创建时间等(d表示文件夹,-表示普通的文件)touc...原创 2019-12-31 17:56:43 · 659 阅读 · 0 评论