自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 fork创建进程

1.进程的创建 fork()函数是创建子进程的函数,在主函数中调用fork会产生一个子进程 打印出来的结果是: if语句是条件语句但却两个都打印了,两个条件都满足,也就是说两个都执行,但却不是一条执行流,那么可以得出肯定还有一个进程在打印另一个。都记得fork()之后有两个进程,一个父进程,一个子进程,父进程返回子进程的pid,子进程返回0;也就是说调用一次返回两次。 有没有发现 我在父进程执...

2019-08-02 11:19:32 864

原创 二叉树的建立和三种遍历方式(递归)

二叉树的建立和遍历 例如 给出下图: //先序是abd###c## //#代表空节点 //先序(根左右),即先遍历根节点,再遍历左节点,直到最左节点为空,接着遍历右节点 。即abdc. //中序(左根右),即先遍历左节点,直到遍历到最左,然后遍历根节点,最后再遍历右节点直到最右。即bdac. //后序(左右根),即先遍历左节点,直到遍历到最左,然后遍历右节点,直到到最右,最后再遍历根节点。即db...

2019-07-08 15:12:35 679

原创 求的几进制的计算方法

进制的习题的解法 以下“ ^ ”为次方的意思(不是按位异或), “ * ” 为乘法的意思。 要计算是几进制,首先要得到一个算数式 例: 已知给出十进制145 145是十进制的数按权展开可以写成 1 * 10^2+4 * 10 ^ 1 + 5 * 10 ^ 0 已知给出十六进制数0x56 按权展开可以写成 5 * 16^1+6 * 16 ^0 可以发现给出一个是几进制的数都可以按权展开 已知计算: ...

2018-11-22 14:54:19 4506

原创 位运算的基本习题整理

位运算的运算符 ~ 按位取反,它是单目运算符,不分正负数,在数字(十进制)的左边。给出一个十进制数11。 11的二进制是 0000 1011 (假定它为一个字节(8位),实际上有4个字节,32位) ~11的结果为 1111 0100 (把每一位的0变1,1变0) & 按位与,它是双目运算符,在两个数的中间。给出两个十进制数11,13。 0000 1011(11的二进制,同上为1字节...

2018-11-13 12:34:41 1507

原创 编译器过程

编译器的工作原理 如图: 一.预编译,预处理 预处理命令都是以“#”开头的,每个预处理命令必须单独占一行,并且末尾不加分号(这就是命令与语句的区别)。编译器在编译源代码时,会先编译头文件,且每个头文件都会被编译。所谓的编译就是直接将头文件中的内容直接复制到当前的.c或.cpp文件中。包括 1.删除注释(生成.i文件之前)2.宏替换(字符变数字)3.直接展开头文件。实际上是进行的字处理,在进行预处...

2018-11-11 13:32:03 316

原创 对递归的浅层理解

递归的原理(个人理解) 例: 计算年龄的问题 可以用循环 也可以用递归 已知第一个人的年龄是10岁,下一个人的年龄是上一个人的年龄加2岁; Age(int n)表示第几个人的年龄;若求第五个人的年龄。 #include <stdio.h> int Age(int n) { if(n==1) { return 10; } else { return Age(n-1)+2; } } int...

2018-10-31 10:37:26 383

原创 二维数组和指针

二维数组和指针的表示含义 例: void Show() { for(int i = 0;i<3;i++) { for(int j = 0;i<4;j++) { printf("%3d",brr[i][j]); } printf("\n"); } } int mian() { int arr[3][4]={1,2,3,4,5,6,7,8,9,10}; Show(arr); return ...

2018-10-28 23:13:32 418

原创 指针p"加一"的表示含义

指针的p++,表示哪里加; 例: #include <stdio.h> int main() { int arr[10]={1,2,3}; int *p = arr; p++; *p = 10; printf("%d,%d\n",arr[0],arr[1]); return 0; } 指针加1 1.加一个数组 错误 2.加一个字节 错误 3.加一个单元格 正确 第一种,加...

2018-10-24 22:32:15 3875

原创 关于“传地址,解引用”的举例

第一种例子 首先,父函数调用子函数,子函数如果想修改父函数的值,则必须传变量的指针并在子函数中解引用。 换而言之,子函数的改变要影响父函数,则父函数需要传指针,子函数需要解引用。 例: (1) void Swap(int a,int b) { int tmp; tmp = a; a = b; b = tmp; } int main() { int a = 10; int b = 20; Swap...

2018-10-23 10:31:38 276

原创 数组越界的问题

#include <stdio.h> void main() { int i; int arr[10]; for(i=0;i<10;i++) { arr[i]=0;`` printf("%d\n",i); } 因为数组长度为10,电脑将分配10个空间来存放,但又电脑不会管理排列的顺序;i在数组前面定义; 所以i先存放在栈里面,先进后出,0为特殊位置(放在栈顶)所以由0-9排列。 ...

2018-10-19 13:31:32 591

原创 输出一个数的位数,顺序,倒序。

给出一个数 分别输出这个数为几位数,顺序 倒序; #include <stdio.h> #include <math.h> //1.求为几位数 int Getnum(int n)//得到几位数; { int tmp=0; if(n0) { return 1; } while (n!=0) { n/=10;//一直循环除10,直到n不等于0; tmp++; } return...

2018-10-15 21:00:38 1552

空空如也

空空如也

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

TA关注的人

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