#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<errno.h>
int main()
{
int *p =(int*) malloc(20);
if (p == NULL)
{
return 0;
}
else
{
int i = 0;
for (i = 0; i < 5; i++)
{
*(p + i) = i;
}
}
//realloc 在原来malloc的基础上重新添加的空间的和20+20
int *p1 = realloc(p, 40);
int i = 0;
for (i = 0; i < 10; i++)
{
printf("%d\n", *(p1 + i));
}
return 0;
}
int main()
{
//calloc 跟 malloc函数差不多只是c会将原来的空间初始化
int *p=calloc(10, sizeof(int));
if (p == NULL)
{
printf("%s\n", strerror(errno));
}
else
{
int i = 0;
for (i = 0; i < 10; i++)
{
printf("%d\n", *(p + i));
}
free(p);
p = NULL;
}
}
int main()
{
//malloc 开辟动态空间 括号内也可以填数字相当于字节
//若int换为MAX_INT那么将会报空间不够
int*p=(int*)malloc(10 * sizeof(int));
if (p == NULL)
{
//一个错误原因
printf("%s", strerror(errno));
}
else
{
//正常使用空间
int i = 0;
for (i = 0; i < 10; i++)
{
*(p + i) = i;
printf("%d\n", *(p + i));
}
//当动态申请的空间不再使用的时候
//就应该还给操作系统
free(p);//释放指针p
p = NULL;//初始化原来的指针防止找到原地至
}
return 0;
}