摘要:
070.堆函数 一个进程或者说一个程序.可能有多个线程.单线程每个线程都有自己专属的栈(stack).栈的最大尺寸是固定的,在OD的右下角,我们都看到过,超过那个范围就会引起栈溢出.堆上的内存必须手工释放(C/C++),有的编程语言比如Java、Net不需要手动管理堆内存,语言本身有GC(垃圾回收机 阅读全文
摘要:
栈的大小是可以指定的.Windows程序在编译的时候就可以指定栈的大小.Linux程序栈的大小是通过环境变量设置的.堆是程序员自定义管理的内存.我们上节课学习了malloc这个函数申请内存以及使用free释放内存. 什么时候在栈中使用一个数组?什么时候在堆中使用一个数组? int l_arr[100 阅读全文
摘要:
定义 说明 int l_v1 定义整型变量 int *lp 定义一个指针 int l_arr[10] 定义一个数组 int *lp[10] 定义一个指针数组 int f_test() 定义一个函数,返回值int int * f_test() 定义一个函数,返回值是int 指针 int **lp 定义 阅读全文
摘要:
#include<stdio.h>#include<stdlib.h>#include<string.h>void main() { char l_v1[10] = { 1,2,3,4,5,6,7,8,9,10 }; int l_v2[10] = { 0 }; memcpy(l_v2, l_v1, 阅读全文
摘要:
传值和传址#include<stdio.h>#include<stdlib.h> void f_test(int *p_v1) { *p_v1 = 200; //传地址 第一种是传值 //在内存里面复制拷贝了一份. } void main() { int l_v1 = 100; f_test(&l_ 阅读全文
摘要:
指针数组二级指针 #include<stdio.h>#include<stdlib.h>#include<string.h>void main() { int l_0 = 100; int *l_v1 = &l_0; int **l_v2 = &l_v1; //二级指针 int ***l_v3 = 阅读全文
摘要:
在我们shell下,有一个ping命令,在一般情况下,可以与互联网上的另一台计算机检测是否网络相通.ping 域名 www.baidu.com ping ip 61.135.169.121ping 整数 10323009213D87A979一个ip4协议的IP地址起始范围是0.0.0.0 - 255 阅读全文
摘要:
32位操作系统下:一个应用程序理论上的虚拟内存空间4GB内存0000 0000 0000 0000 0000 0000 0000 0000 - 1111 1111 1111 1111 1111 1111 1111 1111 0x0000 0000 - 0xFFFF FFFF指针的本质就是一个int类 阅读全文
摘要:
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h> int 文本到整数(char * p_输入) { int l_几位数 = strlen(p_输入); int l_结果 = 0; int i = 0; if ( 阅读全文
摘要:
二到十十到十六十到二十六到十//二进制转换十进制 10111B=1x24 + 0x23 +1 x22 +1 x21 +1 x20= 23 十六进制转换十进制125H=1×162+2×161+5×160=293D十进制转换二进制的方法,不停的除以2,直到商为0,将每一步得到的余数倒着串起来即可50D= 阅读全文