- 博客(3)
- 收藏
- 关注
原创 malloc函数与free函数
链表这种数据结构在C语言中必不可少,它可以实现线性表的动态存储,而链表又要靠malloc函数来实现。 malloc函数: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。 malloc函数的作用是让系统寻找空闲地址后为你分配一块指定大小的空间来给你使用,这一块空间其实要比你申请的空
2017-06-05 23:53:06
1916
原创 关于C语言数组的定义问题
1. C语言的数组定义其实是一个指针的trick,事实上: a[3] == *(a+3) == *(3+a) == 3[a]这说明C语音的数组信息中,并没有数组长度的信息,只有两个地址(也就是a和(a+3))。因为两个地址中间和两个地址外面都存有信息,所以C语言没办法判断一个数组是否越界。但这并不代表我们就没有必要判断数组是否越界或者说去遵循数组定义时的大小,在编译的时候,系统会
2017-06-05 03:56:11
2039
1
原创 不需要额外空间的交换函数的弊端
#include<stdio.h> void exchange(int &a, int &b) { a = a + b; b = a - b; a = a - b; }这个交换函数有一个缺点,如果两个参数是来自同一个地址的,那么这个地址储存的值就会变成零。比如说这个例子:#include<stdio.h> void exchange(int &a, int &b) {
2017-05-28 02:36:58
247
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人