realloc原型:extern void *realloc(void *mem_address,
unsigned int newsize);用法:#include 有些编译器需要#include 在C++环境中,使用#include using
namespace std;功能:改变mem_.....
分类:
其他好文 时间:
2014-05-27 00:06:28
阅读次数:
377
ARC的机制是什么?它在那里放入retain/release函数调用?请停止思考这些问题,把更多的精力放在下面的问题上,比如你的程序逻辑,对象的强,弱引用,对象的所属关系,可能的循环引用等问题上。我还需要为我的类写一个dealloc函数么?可能。因为ARC并不自动调用malloc/free,并不自动...
分类:
其他好文 时间:
2014-05-26 10:24:28
阅读次数:
279
1.malloc申请空间不当,导致越界,在不定的情况下崩溃typedef struct
_tagCmsHcInst{。。。。。。}cmsHcInst,*pcmsHcInst;错误:pcmsHcInstinst =
(pcmsHcInst)malloc(sizeof(pcmsHcInst))正确:pc...
分类:
其他好文 时间:
2014-05-26 07:22:58
阅读次数:
163
1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用...
分类:
编程语言 时间:
2014-05-23 08:32:21
阅读次数:
460
1 缓冲区溢出原理
缓冲区是一块连续的计算机内存区域,可保存相同数据类型的多个实例。缓冲区可以是堆栈(自动变量)、堆(动态内存)和静态数据区(全局或静态)。在C/C++语言中,通常使用字符数组和malloc/new之类内存分配函数实现缓冲区。溢出指数据被添加到分配给该缓冲区的内存块之外。缓冲区溢出....
分类:
其他好文 时间:
2014-05-23 08:05:04
阅读次数:
332
(1)分配函数
void *malloc(sizeof(unsigned size)
功能:在内存的动态存储区中分配一块长度位size的连续空间。
返回值:指针,存放被分配内存的起始地址。若未申请到空间,则返回NULL(0)。
void *:指向任何类型的数据,在使用时,要进行强制类型转换。
例如:int *malloc(sizeof(int))
struct student *mal...
分类:
其他好文 时间:
2014-05-21 17:10:29
阅读次数:
231
析构函数和构造函数是一对,就像C语言中的malloc和free,C++中的new和delete一样
先从一个实例说起:
#include
#include
using namespace std;
class Student
{
public:
Student(int n, string nam, char s)
{
num = n;
name = nam;
sex...
分类:
其他好文 时间:
2014-05-21 12:33:43
阅读次数:
259
#include
#include
typedef int elemType;
typedef struct Node{//定义单链表节点类型
elemType data;
Node *next;
}Node,*linkList;
//初始化链表,单链表的头指针为空
int initList(linkList &L)
{
L= (Node *)malloc(sizeof(Node));...
分类:
其他好文 时间:
2014-05-21 11:19:08
阅读次数:
228
一、什么是共享内存
顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一样。而如果某个进程向共享内存写入数据,所做的改动将立即影...
分类:
系统相关 时间:
2014-05-21 10:42:26
阅读次数:
626
#include
#include //要使用malloc(),必须包含此库文件
void main()
{
char count, *ptr1, *p;
ptr1 = malloc(27*sizeof(char));
ptr1[26] = 0;//字符串要加0
if (ptr1 == NULL)
{
puts("没有足够的空间卡可以分配!\n");
}
p = ptr1...
分类:
编程语言 时间:
2014-05-21 07:11:10
阅读次数:
275