- 博客(5)
- 收藏
- 关注
原创 malloc实现原理,我ralloc的使用
1.malloc()是C语言中动态存储管理 的一组标准库函数之一。其作用是在内存的动态存储区中分配一个长度为size的连续空间。其参数是一个无符号整形数,返回值 是一个指向所分配的连续存储域的起始地址的指针。 动态内存分配 就 是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。动态内存分配不像数组等静态内存分配方法那样需要预先分配存储空间,而是由系统根据 程序的需要即时
2016-11-19 23:05:48 357
原创 scanf格式化输入的几个问题
如何处理scanf()函数误输入造成程序死锁或出错? #include int main() { int a,b,c; /*计算a+b*/ scanf("%d,%d",&a,&b); c=a+b; printf("%d+%d=%d",a,b,c); } 如上程序,如果正确输入a,b的值,那么没什么问题,但是,你不能保证使用者每一次都能正确输入
2016-11-18 23:09:17 396
原创 c数组
c语言数组一般有四种数组定义方式,以一维数组为例: //定义指定维数的数组 int arr[10]; //定义不指定维数的数组,数组维数有初化列表元素个数决定。 int arr[] = {1,2,4}; //定义指定维数的数组,初始化不完全时,系统将未初始化元素初始化为0 int arr[10] = {1,2}; //动态分配一个数组。下面分配了一个有10个元素的数组。 int *arr =(in
2016-11-01 22:52:41 280
原创 c语言算法;排列过程及其例子罗列
排序过程:(1)比较第一个数与第二个数,若为逆序a[0]>a[1],则交换;然 后比较第二个数与第三个数;依次类推,直至第n-1个数和第 n个数比较为止——第一趟冒泡排序,结果最大的数被安置在 最后一个元素位置上(2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在 第n-1个元素位
2016-10-31 22:13:12 319
原创 gcc的编译过程
GCC的编译链接过程包括:1. C预处理器(cpp),处理所有的宏定义,生成文本文件.i2. C编译器(cc1),生成汇编语言文件.s3. 汇编器(as)生成可重定位的目标文件.o4. 链接器(ld)把所有的.o和库组合成一个可执行的目标文件a) 符号解析:将每个符号的引用和一个符号定义联系起来b) 重定位:编译(cc1和as)生成的代码(.text
2016-10-29 23:21:23 231
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人