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

电商网站的银行支付接入该怎么做杭州微信小程序外包

电商网站的银行支付接入该怎么做,杭州微信小程序外包,做设计时可以参考的网站,上海最大企业前十名Hi~#xff01;这里是奋斗的小羊#xff0c;很荣幸您能阅读我的文章#xff0c;诚请评论指点#xff0c;欢迎欢迎 ~~ #x1f4a5;#x1f4a5;个人主页#xff1a;奋斗的小羊 #x1f4a5;#x1f4a5;所属专栏#xff1a;C语言 #x1f680;本系列文章为个人学习… Hi~这里是奋斗的小羊很荣幸您能阅读我的文章诚请评论指点欢迎欢迎 ~~ 个人主页奋斗的小羊 所属专栏C语言 本系列文章为个人学习笔记在这里撰写成文一为巩固知识二为展示我的学习过程及理解。文笔、排版拙劣望见谅。 目录 前言1、为什么要有动态内存分配2、malloc 和 free2.1 malloc2.2 free 3、calloc 和 realloc3.1 calloc3.2 realloc 总结 前言 本篇文章将介绍C语言中除指针和结构体外又一重要的内容——动态内存管理 在C语言中我们更多的需要手动分配和释放内存这意味着我们必须正确地管理内存以避免内存泄漏、内存溢出和其他内存错误这些错误可能导致程序崩溃或安全漏洞。因此了解内存管理是编写高质量、高效率和健壮性程序的重要部分。 1、为什么要有动态内存分配 目前我们申请内存的方法有两种创建相关类型变量int n 0;和创建相关类型数组int arr[10] { 0 }; 但是这样申请的内存是有缺点的 申请的内存大小是有限的不能指定大小 数组在声明的时候必须指定长度数组空间一旦确定下来就不能调整 数组空间在申请前我们不能给出一个准确的大小大了浪费小了不够 有时候我们需要的空间大小在程序运行的时候才能知道那数组的编译时开辟空间的方式就不能满足了 为了解决这个问题C语言引入了动态内存开辟让我们可以自己申请和释放内存这样就比较灵活了 空间不够我们可以增大空间太大我们可以缩小 2、malloc 和 free 使用动态内存管理函数都需要包含头文件stdlib.h 2.1 malloc C语言提供了一个动态内存开辟的函数malloc void* malloc(size_t size);malloc 函数的作用是开辟一块指定大小的、连续的、有限的内存空间大小由size 决定是不能开辟无限空间的 在x86环境下开辟一块超大内存空间若开辟失败打印出失败原因 #include stdio.h #include stdlib.hint main() {int* p (int*)malloc(INT_MAX);//INT_MAX2147483647if (p NULL){//空间开辟失败perror(malloc);//失败后用return终止程序return 1;}return 0; }对于malloc函数我们需要注意 参数的单位是字节如果size是0malloc的行为是未定义的取决于编译器malloc的返回值是void *类型的指针申请空间成功的话返回起始地址反之则返回NULLmalloc返回的地址我们基本都会直接强转为我们需要的类型的地址 示例申请10个整形空间存入1~10 #include stdio.h #include stdlib.hint main() {int* p (int*)malloc(10 * sizeof(int));if (p NULL){//空间开辟失败perror(malloc);//失败后用return终止程序return 1;}//可以使用开辟好的空间int i 0;for (i 0; i 10; i){*(p i) i 1;}return 0; }malloc申请的空间和数组有什么区别 动态内存的大小可以调整空间开辟的位置不一样 我们创建的局部数组就在栈区 虽然空间有区别但在使用上是一样的 2.2 free C语言提供了另外一个函数free专门是用来做动态内存的释放和回收的malloc和free基本都要成对存在函数原型如下 void free(void* ptr);free函数是用来释放开辟的动态内存的我们将上面开辟的动态内存释放 #include stdio.h #include stdlib.hint main() {int* p (int*)malloc(10 * sizeof(int));if (p NULL){//空间开辟失败perror(malloc);//失败后用return终止程序return 1;}//可以使用开辟好的空间int i 0;for (i 0; i 10; i){*(p i) i 1;}//将开辟的动态内存释放free(p);p NULL;return 0; }注意用free释放动态内存空间后指针p中还保留着其地址安全起见我们需要给指针p赋NULL因此free(p)和p NULL总是一起出现的 既然有free函数所以说明动态内存是不能自动回收的所以malloc申请的空间和数组又有了一个区别 数组在进它的作用域时申请空间出作用域时自动释放空间而malloc申请的动态内存空间需要我们手动地释放 如果不释放程序结束的时候也会被系统自动回收但是并不建议这样做自己申请的空间要自己释放不然会浪费资源也是不负责任的行为 特别的 如果参数ptr指向的空间不是动态开辟的free的行为是未定义的如果参数ptr是NULL指针则free什么都不做 3、calloc 和 realloc 3.1 calloc C语言还提供了一个函数calloc其函数原型是 void* calloc( size_t num, size_t size );calloc的作用是开辟num个大小为size的连续空间同时将内存空间初始化为0 用 calloc申请10个整型的空间并打印出内存中的值 #include stdio.h #include stdlib.hint main() {//int* p (int*)malloc(10 * sizeof(int));int* p (int*)calloc(10, sizeof(int));if (p NULL){//空间开辟失败perror(calloc);//失败后用return终止程序return 1;}//可以使用开辟好的空间int i 0;for (i 0; i 10; i){printf(%d , p[i]);//*(p i)}//将开辟的动态内存释放free(p);p NULL;return 0; }如果将malloc申请的动态内存空间中的值打印出来应该都是随机值 所以malloc和calloc只两个区别 malloc有1个参数而calloc有2个参数calloc会把申请的动态内存空间内的值初始化为全0而malloc不会 3.2 realloc 在文章开头我们提到了有时在定义数组的时候我们并不能给定数组一个准确的长度大了浪费小了不够。 而realloc函数的出现让动态内存管理更加灵活它的作用是调整动态内存空间的大小原型如下 void *realloc( void *ptr, size_t new_size );ptr指向之前通过malloc、calloc、realloc开辟的内存块必须是起始地址new_size内存新大小单位字节返回值void *调整后的内存起始地址若失败则返回空指针 当我们想用realloc函数将一个动态内存空间调整的小一点则相应的动态内存空间就会减小到我们想要的大小而当我们想用realloc函数将一个动态内存空间调整的大一点这时候就会有两种情况出现 情况一原内存后的可用空间足够我们的扩容 这时候realloc函数就会按正常程序走返回原内存的起始地址 情况二原内存后的可用空间不够我们扩容 这时候realloc函数会在堆区中找一块足以完成我们目的的内存空间并将原内存中的内容拷贝到新内存空间中realloc函数还会自己将原内存空间释放最后返回新开辟的内存空间的起始地址 当然不管我们是想将原内存空间调小还是扩容都有失败的可能 所以realloc函数的返回值我们不能直接用指向原内存的指针接收因为如果realloc返回的是NULL则原内存的地址都会消失 我们可以用一个新指针过渡 #include stdio.h #include stdlib.hint main() {//int* p (int*)malloc(10 * sizeof(int));int* p (int*)calloc(10, sizeof(int));if (p NULL){//空间开辟失败perror(calloc);//失败后用return终止程序return 1;}//可以使用开辟好的空间int i 0;for (i 0; i 10; i){printf(%d , p[i]);//*(p i)}//调整空间扩容到20个整型空间int* ptr (int*)realloc(p, 20 * sizeof(int));//用新指针过渡if (ptr ! NULL){p ptr;}//使用// ...//将开辟的动态内存释放free(p);p NULL;return 0; }总结 动态内存管理通过使用malloc、calloc和realloc等函数来分配内存使用free函数来释放已经分配的内存。动态内存管理能够优化程序的内存利用率避免内存泄漏和内存溢出等问题在C语言中动态内存管理是我们必须掌握的重要技能之一
http://www.zqtcl.cn/news/668273/

相关文章:

  • 余姚网站推广策划案门户网站做等保需要备案哪些
  • 网站关键字优化公司wordpress制作百度地图xml
  • 网站建设进度总结网站文件权限设置
  • 织梦网站如何做地区分站厦门网站代理
  • 模板做网站优缺点网络营销推广公司获客
  • 如何做网站充值用flash做网站超链接
  • 网站图片管理系统临沂百度推广多少钱
  • 渭南建设用地规划查询网站教育局两学一做网站
  • 无锡专业网站制作的公司长春seo技术
  • 东莞做网站哪家最好电商网站支付接口
  • 西安火车站网站建设深圳做百度网站
  • asp网站助手金融学类就业方向及就业前景
  • 用点心做点心官方网站现在手机网站用什么做的好
  • 唐山市路桥建设有限公司网站专门写文章的网站
  • 东莞食品网站建设湖南企业竞价优化
  • 吉林网站建设找哪家湛江大型网站模板建设
  • 中国建设监理业协会网站国产cms
  • 计算机网站建设与维护wordpress 500错误
  • 元器件网站开发客户wordpress伪静态301错误
  • 网站设计排行怎么样用ppt做网站
  • 网站联盟名词解释网站建设 上海网站建设
  • 南通优普高端网站建设wordpress 煎蛋主题
  • 大企业网站制作及维护关于网站建设的论文题目
  • wordpress网站字体淄博网站搜索排名
  • visual stdio 做网站 注册用户 密码必须6位以上品牌服装网站源码
  • 做网站用到的技术湖南建设银行网站
  • 成都大型网站设计公司电脑上重新下载一个wordpress
  • 番禺网站建设知乎自己做网站卖矿山设备
  • 手表网站起名登录页面html模板
  • 泰国如何做网站推广大英网站建设工作