【建站服务】杞县企业微信公众号小程序开发公司、杞县企业网页设计方案、杞县做网站开发价格、杞县微信公众号制作运营报价明细表、杞县网站设计公司费用、杞县网站推广大概需要多少钱-域名申请
作者: 风兰 . 阅读量: 6 . 发表时间:2022-09-20 13:40:34
上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
杞县企业微信公众号小程序开发公司、杞县企业网页设计方案、杞县做网站开发价格、杞县微信公众号制作运营报价明细表、杞县网站设计公司费用、杞县网站推广大概需要多少钱
杞县是河南省开封市辖县,位于河南省东部,北接开封市兰考县和商丘市民权县,东临商丘市睢县,南至周口市太康县,西到开封市祥符区和通许县。
杞县是“省级历史文化名城”,夏朝时期的杞国曾在这里建都立国长达1000余年 [1] 。是近代著名的豫东革命根据地,豫东战役大量战斗发生于此,是河南13个一类革命老区之一。
杞县素有“中原粮仓”之美称。 [2] 2012年杞县产业集聚区被评为“全省十佳新型工业化产业示范基地”。 [3] 2018年12月13日,入选中国特色农产品优势区名单。 [4]
关于动态内存管理的函数原型定义在stdlib.h头文件中,Linux系统中该头文件所在路径为:/usr/include/,stdlib.h中定义的与动态内存管理相关函数的原型为:
void *malloc(size_t size); void *calloc(size_t numElement, size_t elementSize); void *realloc(void *ptr, size_t size); void free(void *ptr);
void *malloc(size_t size)malloc函数通过参数指定需要分配的内存大小(单位:字节),若堆中存在足够内存则返回起始地址,否则返回NULL,示例代码如下:
#include <stdlib.h>
#include <stdio.h>
int main(void) {
int *ptr = (int *) malloc(5 * sizeof(int));
if (!ptr) {
printf("out of memory
");
return -1;
}
/***** do something for ptr here *****/
free(ptr); // 手动释放动态分配的内存
ptr = NULL; // 堆内存释放后,指针一般置为空指针,否则会造成悬空指针
return 0;
}从堆中开辟的内存使用完毕必须手动释放归还给堆管理器
void *calloc(size_t numElement, size_t elementSize)calloc函数通过指定元素个数和元素大小分配内存,若堆中存在足够内存则返回起始地址,否则返回NULL,示例代码如下:
#include <stdlib.h>
#include <stdio.h>
int main(void) {
int *ptr = (int *) calloc(5, sizeof(int));
if (!ptr) {
printf("out of memory
");
return -1;
}
/***** do something for ptr here *****/
free(ptr);
ptr = NULL;
return 0;
}但和malloc不同的是calloc会对开辟的内存进行零初始化,即int *ptr = (int *) calloc(5, sizeof(int));与下述代码等价(memset函数原型定义在string.h中):
int *ptr = (int *) malloc(5 * sizeof(int));
if (ptr) {
memset(ptr, 0, 5 * sizeof(int));
}void *realloc(void *ptr, size_t size)realloc函数作用为扩大或缩小已分配的堆内存或者NULL,该函数接受两个参数,第一个参数指定要扩大或缩小的内存地址;第二个参数指定扩大或缩小后的内存大小,示例代码如下:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int *ptr = (int *) malloc(5 * sizeof(int));
if (!ptr) {
printf("out of memory
");
return -1;
}
int *tmp_ptr = (int *) realloc(ptr, 10 * sizeof(int));
if (!tmp_ptr) {
printf("out of memory
");
free(ptr); // 若不再需要ptr则需释放
ptr = NULL;
return -1;
}
ptr = tmp_ptr;
tmp_ptr = NULL; // 一般保证开辟的堆内存只有一个引用,否则容易重复释放
/***** do something for ptr here *****/
free(ptr);
ptr = NULL;
return 0;
}使用realloc需要注意的是当内存不足返回为NULL时,realloc不会将参数ptr指向的内存释放,需要人为动手释放,因此不可以写如下代码:
#include <stdlib.h>
int main(void) {
int *ptr = (int *) malloc(5 * sizeof(int));
if (!ptr) {
printf("out of memory
");
return -1;
}
ptr = (int *) realloc(ptr, 10 * sizeof(int));
/*****此处若内存不足realloc返回NULL,ptr将丢失之前malloc分配的内存地址,造成内存泄漏*****/
return 0;
}void free(void *ptr)free函数的作用是将从堆中分配的内存释放归还给堆,以便后续可以分配给其他的对象,该函数的参数为动态分配内存的地址。使用free函数时要注意,参数必须为malloc、calloc、realloc的返回值或NULL,否则将产生free(): invalid pointer运行时错误,示例代码1如下:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int a = 99;
int *ptr = &a;
free(ptr); // 产生运行时错误,因为ptr指向栈内存
ptr = NULL;
return 0;
}示例代码2如下:
int main(void) {
int *ptr = (int *) malloc(5 * sizeof(int));
ptr++;
free(ptr); // 产生运行时错误,因为ptr已经不指向malloc分配内存的首地址
ptr = NULL;
return 0;
}
杞县企业微信公众号小程序开发公司、杞县企业网页设计方案、杞县做网站开发价格、杞县微信公众号制作运营报价明细表、杞县网站设计公司费用、杞县网站推广大概需要多少钱
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)
关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站


