[C_8] typedef & 内存分配

来源:互联网 发布:怎么申请退款淘宝 编辑:程序博客网 时间:2024/06/07 02:59

13 typedef

13.1 函数指针重命名

int (*x (void(*p)( ) )) (char);//返回类型int(*)(char) 函数名 x 形参 void(*p)()

变量x定义为一个函数

替换:

typedef void (*T)(); //定义T为指向void func()函数的指针

typedef int (*U)(char); //定义U为指向int func(char)函数的指针

U x(T p);


13.2 数组指针重命名

typedef a ARR[10]; //ARR表示a[10]

ARR b;

函数也是这种形式写


14 堆内存的分配及相关函数

void* malloc(size bytes);void *memset(void *s, int c, size_t n);//地址,数值(0),大小void* calloc(size_t nmemb,size_t size); //第一个参数是元素的个数第二个参数是每个元素的所占的字节数,为数组分配,初始化为0void * realloc(void* ptr,size_t size); //重新分配,但不会初始化为0void free(void *ptr); //释放--> realloc (地址,0)double* p=malloc(sizeof(double));//可以把返回的void类型赋值double类型,C允许,C++更严格,所以最好强制类型转换一下double *p=(double*)malloc(sizeof(double));if(p==NULL) //每次分配需判定是否成功printf("申请空间失败\n");


0 0
原创粉丝点击