学点 C 语言(23): 数据类型 - 给指针分配内存(3)
for (i = 0; i < num; i++) p[i] = i+1;
for (i = 0; i < num; i++) printf("%dn", p[i]);
printf("------------------n");
num = 4;
p = (long *)realloc(p, num*sizeof(long));
printf("内存地址: %pn~~~~~~~~n", p);
for (i = 0; i < num; i++) printf("%dn", p[i]);
printf("------------------n");
num = 20;
p = (long *)realloc(p, num*sizeof(long));
printf("内存地址: %pn~~~~~~~~n", p);
for (i = 0; i < num; i++) printf("%dn", p[i]);
free(p);
getchar();
return 0;
}
6. 判断内存是否分配成功:
#include
#include
int main(void)
{
int *p = (int *)malloc(100);
if (p != NULL) printf("分配成功!n");
if (p) printf("分配成功!n");
if (p == NULL) printf("内存不足!n");
if (!p) printf("内存不足!n");
free(p);
getchar();
return 0;
}