营销者网站做网站优化需要做哪些事项
2026/1/25 15:27:39 网站建设 项目流程
营销者网站,做网站优化需要做哪些事项,熟练掌握网站开发技术,线上推广的公司1.内存布局内存布局的简单描述就是栈区、堆区、静态区1#xff09;栈区#xff1a;是来放置局部变量和函数形参等临时变量的。2#xff09;堆区#xff1a;是用来动态内存开辟的#xff0c;malloc、calloc、free、realloc等函数都是在堆区上进行操作的。3#xff09;静态…1.内存布局内存布局的简单描述就是栈区、堆区、静态区1栈区是来放置局部变量和函数形参等临时变量的。2堆区是用来动态内存开辟的malloc、calloc、free、realloc等函数都是在堆区上进行操作的。3静态区是来放置全局变量、静态变量的。今天所要描述的知识点都是在堆区上进行操作的。2.动态内存函数2.1 malloc2.1.1 malloc是什么这个函数向内存申请一块连续可用的空间并返回指向这块空间的指针。1如果开辟成功则返回一个指向开辟好空间的指针。2如果开辟失败则返回一个NULL指针因此malloc的返回值一定要做检查。3返回值的类型是 void*所以malloc函数并不知道开辟空间的类型具体在使用的时候使用者自己 来决定。4如果参数 size 为0malloc的行为是标准是未定义的取决于编译器。int main() { int* p (int*)malloc(10 * sizeof(int)); if (p NULL) { perror(main); } for (int i 0; i 10; i) { *(pi) i; } for (int i 0; i 10; i) { printf(%d , p[i]); } free(p); p NULL; return 0; }2.2 free2.2.1 free是什么free函数用来释放动态开辟的内存。需要注意以下两点1如果参数ptr指向的空间不是动态开辟的那free函数的行为是未定义的。2如果参数ptr是NULL指针则函数什么事都不做。int main() { int* p (int*)malloc(10 * sizeof(int)); if (p NULL) { perror(main); } free(p); p NULL; return 0; }2.3 calloc2.3.1 calloc是什么calloc 函数也用来动态内存分配。它只有两点与malloc不同其它功能与malloc相似两点如下1参数不同calloc有两个参数第一个参数为 num第二个是size表示创建 num 个大小为 size2把开辟的空间的每个字节初始化为0。#includestdio.h #includestdlib.h int main() { int i; int* pn (int*)calloc(10, sizeof(int)); for(i 0;i 10;i) printf(%d, pn[i]); printf(\n); free(pn); return 0; }2.4 realloc2.4.1 realloc是什么realloc函数的出现让动态内存管理更加灵活有时会我们发现过去申请的空间太小了有时候我们又会觉得申请的空间过大了那为了合理的使用内存我们一定会对内存的大小做灵活的调整。那realloc 函数就可以做到对动态开辟内存大小的调整。1. ptr 是要调整的内存地址2. size 调整之后新大小3. 返回值为调整之后的内存起始位置。4. 如果开辟到新的空间上这个函数调整原内存空间大小的基础上还会将原来内存中的数据移动到新的空间。5. realloc在调整内存空间的是存在两种情况 1原有空间之后有足够大的空间 2原有空间之后没有足够大的空间 3堆区上没有那么大的空间进行开辟int main() { int* p (int*)malloc(10 * sizeof(int)); if (p NULL) { perror(main); return; } int* temp (int*)realloc(p, 20 * sizeof(int)); if (temp NULL) { perror(main); return; } p temp; free(p); p NULL; temp NULL; return 0; }2.4.3 realloc可以实现与malloc同样的功能int main() { int* p (int*)realloc(NULL, 10 * sizeof(int)); if (p NULL) { perror(main); return; } free(p); p NULL; return 0; }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询