📅  最后修改于: 2020-09-25 08:54:09             🧑  作者: Mango
C++中的malloc() 函数分配一个未初始化的内存块,如果分配成功,则返回指向已分配内存块的第一个字节的空指针。
如果大小为零,则返回的值取决于库的实现。它可以是也可以不是空指针。
void* malloc(size_t size);
此函数在
malloc() 函数返回:
#include
#include
using namespace std;
int main()
{
int *ptr;
ptr = (int*) malloc(5*sizeof(int));
if(!ptr)
{
cout << "Memory Allocation Failed";
exit(1);
}
cout << "Initializing values..." << endl << endl;
for (int i=0; i<5; i++)
{
ptr[i] = i*2+1;
}
cout << "Initialized values" << endl;
for (int i=0; i<5; i++)
{
/* ptr[i] and *(ptr+i) can be used interchangeably */
cout << *(ptr+i) << endl;
}
free(ptr);
return 0;
}
运行该程序时,输出为:
Initializing values...
Initialized values
1
3
5
7
9
#include
#include
using namespace std;
int main()
{
int *ptr = (int*) malloc(0);
if(ptr==NULL)
{
cout << "Null pointer";
}
else
{
cout << "Address = " << ptr << endl;
}
free(ptr);
return 0;
}
运行该程序时,输出为:
Address = 0x371530