初学C语言笔记221004动态内存管理_1

strerror(errno)

#include <stdlib.h>
#include <stdio.h>
#include <errno.h>

int main()
{
int *p1 = malloc(10*sizeof(int)); //不初始化
int *p2 = calloc(10,sizeof(int)); //初始化为0

if(p1==NULL)
{
printf("%s",strerror(errno));
}
else
{
//使用p1
}
free(p1); //释放p1
p1 = NULL;

if(p2==NULL)
{
printf("%s",strerror(errno));
}
else
{
//使用p2
}
free(p2); //释放p2
p2 = NULL;
}

初学C语言笔记221004动态内存管理_1_02


初学C语言笔记221004动态内存管理_1_03


const int* const a = &b;    // 3
int const* const a = &b; // 4
第三个 a 是静态的指针(第二个const 修饰),指向 int
这个int是静态的(第一个const修饰)
第四个 a 是静态的指针(第二个const 修饰)
指向一个静态的变量(第一个const 修饰, 这个变量是int的)