当前位置: 首页 > news >正文

web网站开发基础网络推广的好处

web网站开发基础,网络推广的好处,永州建设网站制作,详情页尺寸C realloc()用法及代码示例 C 中的realloc() 函数重新分配先前分配但尚未释放的内存块。realloc() 函数重新分配先前使用 malloc() 、 calloc() 或 realloc() 函数分配但尚未使用 free() 函数释放的内存。如果新大小为零,则返回的值取决于库的实现。它可能会也可能…

C++ realloc()用法及代码示例

C++ 中的realloc() 函数重新分配先前分配但尚未释放的内存块。

realloc() 函数重新分配先前使用 malloc() 、 calloc() 或 realloc() 函数分配但尚未使用 free() 函数释放的内存。

如果新大小为零,则返回的值取决于库的实现。它可能会也可能不会返回空指针。


realloc()原型

void* realloc(void* ptr, size_t new_size);


该函数在<cstdlib> 头文件中定义。
参数:

  • ptr :指向要重新分配的内存块的指针。
  • new_size :一个无符号整数值,表示内存块的新大小(以字节为单位)。


返回:

realloc() 函数返回:
  • 指向重新分配的内存块开头的指针。
  • 如果分配失败,则为空指针。
在重新分配内存时,如果内存不足,则不释放旧内存块并返回空指针。
如果旧指针(即 ptr)为空,则调用 realloc() 与调用 malloc() 函数相同,并将新大小作为其参数。
有两种可能的重新分配内存的方法。
  • 扩展或收缩同一个块:如果可能,旧指针(即 ptr)指向的内存块被扩展或收缩。内存块的内容保持不变,直到新旧大小中的较小者。如果该区域被扩展,新分配的块的内容是未定义的。
  • 搬到新位置: 分配一个大小为new_size 字节的新内存块。在这种情况下,内存块的内容也保持不变,直到新旧大小中的较小者,如果内存扩大,新分配的块的内容是未定义的。


示例 1:realloc() 函数如何工作?
 

  1. #include <iostream>
    #include <cstdlib>
    using namespace std;
    int main()
    {float *ptr, *new_ptr;ptr = (float*) malloc(5*sizeof(float));if(ptr==NULL){cout << "Memory Allocation Failed";exit(1);}/* Initializing memory block */for (int i=0; i<5; i++){ptr[i] = i*1.5;}/* reallocating memory */new_ptr = (float*) realloc(ptr, 10*sizeof(float));if(new_ptr==NULL){cout << "Memory Re-allocation Failed";exit(1);}/* Initializing re-allocated memory block */for (int i=5; i<10; i++){new_ptr[i] = i*2.5;}cout << "Printing Values" << endl;for (int i=0; i<10; i++){cout << new_ptr[i] << endl;}free(new_ptr);return 0;
    }

运行程序时,输出将是:

  1. Printing Values
    0
    1.5
    3
    4.5
    6
    12.5
    15
    17.5
    20
    22.5


示例 2:realloc() 函数,new_size 为零

  1. #include <iostream>
    #include <cstdlib>
    using namespace std;int main()
    {int *ptr, *new_ptr;ptr = (int*) malloc(5*sizeof(int));if(ptr==NULL){cout << "Memory Allocation Failed";exit(1);}/* Initializing memory block */for (int i=0; i<5; i++){ptr[i] = i;}/* re-allocating memory with size 0 */new_ptr = (int*) realloc(ptr, 0);if(new_ptr==NULL){cout << "Null Pointer";}else{cout << "Not a Null Pointer";}return 0;
    }

运行程序时,输出将是:

Null Pointer
示例 3:当 ptr 为 NULL 时的 realloc() 函数

  1. #include <iostream>
    #include <cstdlib>
    #include <cstring>
    using namespace std;int main()
    {char *ptr=NULL, *new_ptr;/* reallocating memory, behaves same as malloc(20*sizeof(char)) */new_ptr = (char*) realloc(ptr, 50*sizeof(char));strcpy(new_ptr, "Welcome to Net188.com");cout << new_ptr;free(new_ptr);return 0;
    }

运行程序时,输出将是:

Welcome to Net188.com

http://www.dt0577.cn/news/55319.html

相关文章:

  • 上海学做网站百度seo排名优化助手
  • 最优秀的佛山网站建设焊工培训班
  • 给私人企业做网站推广广告投放优化师
  • 首页优化的公司如何优化网站排名
  • 苏州注册公司一站式搜索点击软件
  • 那个网站可以做空比特币seo实战培训
  • 烟台网站建设不死鸟分享友情链接
  • 公司推广网站建设话术百度知道首页官网
  • 网站上做推广优化大师是什么意思
  • 网站开发 java c phpapp拉新推广接单平台
  • 内网建设网站外网访问新十条优化措施
  • 做网站推广 优帮云搭建网站的软件
  • 如何做转发文章赚钱的网站东莞谷歌推广公司
  • wix网站怎么做滚动百度 竞价排名
  • drupal网站建设 北京新闻 近期大事件
  • 网站建设和网站推广可以同一家做吗电商运营培训课程有哪些
  • 为个人网站做微信服务号搜了网推广效果怎么样
  • 家庭做网站上海网络推广
  • 做死活题网站百度seo引流怎么做
  • seo网站首页优化排名怎么做亚马逊seo推广
  • 张家口网站建设哪里好seo搜索排名优化公司
  • 哪家做网站公司好衡阳seo
  • 宁夏做网站的可以下载新闻视频的网站
  • 服务器做jsp网站教程视频一份完整的活动策划方案
  • 商城网站上做内容冲突吗百度用户服务中心人工24小时电话
  • 中小企业网站模板重庆店铺整站优化
  • 网页设计专业合肥网站优化方案
  • 网站制作无锡整合营销方案
  • 宸建设计网站网站怎么建立
  • 近两年成功的网络营销案例及分析搜索引擎优化时营销关键词