一、malloc()和free()的基本概念以及基本用法:1、函数原型及说明:void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。关于分配失败的原因,应该有多种,比如说空间不足就是一种。v...
分类:
其他好文 时间:
2014-07-30 23:16:35
阅读次数:
272
man命令相关的数字代表的意义1。通过man 7 man 查看 1 使用者在shell环境中可以操作的命令或可运行文件 如which 2 系统核心可呼叫的函数与工具等 3 一些常用的函数(function)与函式库(library),大部分为C的函式库(libc) 例如 malloc 4 装置文.....
分类:
系统相关 时间:
2014-07-30 20:08:44
阅读次数:
247
顺序表指的是数据元素在内存中连续分配地址的数组,由于指针无法指出数组长度,编译时不会报错,所有用结构体来表示一个顺序表:
顺序表用C语言的表示方法如下:
#define MaxSize 100 #define OK 1
#define ERROR -1
typedef int elem_type;
typedef int Statue;
// int Arrylength...
分类:
其他好文 时间:
2014-07-30 17:36:44
阅读次数:
256
题目:有一段文本,将文本中的所有单词,存放到一个字符指针数组中(要求每个单词内存恰好)。第一种做法charc[]="asdafilkjglripkjgdrgdssdggs";charb[10]={0};char*a[10]={NULL};inti=0,j=0,k=0;//i使字符不断后移,j用来标识指针a,k用来标识中间字符数组b;while(1){//把字符串..
分类:
其他好文 时间:
2014-07-30 12:32:34
阅读次数:
256
.h文件
/**********************说明*************************
* 这是MPool内存池的实现,他具有如下特性:
* 1. 池中的内存块是大小是相同的
* 2. 由宏定义_MP_NO_SERIALIZE决定是否需要多线程同步
* 3. 他利用windows的堆内存API进行内存分配
* 4. 他不能替换crt的malloc和free
* 5. 他不...
intcount=0;//定义数组长度printf("请输入数组长度:");scanf("%d",&count);int*p=malloc(sizeof(int)*count);for(inti=0;i<count;i++){*(p+i)=arc4random()%(count-1+1)+1;printf("%d",*(p+i));}printf("\n");intmax=0;for(inti=0;i<count;i++){if(max<*(p+i)){ma..
分类:
其他好文 时间:
2014-07-30 03:30:33
阅读次数:
202
区别: ????1. new/delete是C++的操作符,malloc/free是C/C++标准库函数。 ? ? 2. new分为两步的:第一步是申请内存,第二步则是调用构造函数初始化对象。同样,在调用delete的时候,需要先调用析构函数,然...
分类:
其他好文 时间:
2014-07-29 18:28:42
阅读次数:
200
指针的编程艺术(二)之指针与字符串
指针变量大小为4个字节,看一个例子:
#include
int main()
{
double i = 10, j = 100;
double * p = &i;
double * q = &j;
printf("%p\n",p);
printf("%p\n",q);
return 0;
}
...
分类:
其他好文 时间:
2014-07-29 17:54:19
阅读次数:
217
栈属于数据结构,它本质上属于线性表,只是受限的线性表。我们今天来讨论下动态栈也就是链栈的相关问题。#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedefstructNode
{
intdata;
structNode*pNext;
}NODE,*PNODE;
typedefstructStack
{..
分类:
其他好文 时间:
2014-07-29 15:28:39
阅读次数:
248
一种动态内存管理Malloc/Free服务的链表实现 , 动态内存分配与回收服务,Malloc/Free的实现,最主要的核心内容是单向链表。其数据结构定义如下,一整段内存被SRAM或SDRAM,DRAM由系统的内存管理模块统一管理,这里主要是堆的管理:
typedef struct A_BLOCK_LINK
{
struct A_BLOCK_LINK *pxNextFre...
分类:
其他好文 时间:
2014-07-29 13:21:31
阅读次数:
433