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

泉州做网站优化价格做网站可以不做后端吗

泉州做网站优化价格,做网站可以不做后端吗,静态手机网站,西安官方网站建设1、malloc函数详解 #xff08;1#xff09;函数声明 #include stdlib.h void* malloc(size_t size);malloc可以申请一定数量的空闲内存#xff0c;这样的内存是匿名的#xff0c;也就是malloc不会为其赋名#xff0c;但是确实返回动态分配内存块的首元素地址1函数声明 #include stdlib.h void* malloc(size_t size);malloc可以申请一定数量的空闲内存这样的内存是匿名的也就是malloc不会为其赋名但是确实返回动态分配内存块的首元素地址因此可以把该地址赋给一个指针变量利用这个指针访问这块内存malloc通常返回一个char类型的指针因为char表示一个字节。然而从ANSI C标准开始C使用一个新的类型void*即一个指向void的指针相当于一个“通用指针”由此malloc可以返回多个类型的指针。所以通常malloc的返回值都会强制转化为匹配的类型把指向void的指针赋给任意类型的指针完全不需要考虑类型匹配的问题如果malloc分配内存失败就会返回空指针 2使用函数 ①使用malloc创建一个数组 double* ptd; ptd (double*)malloc(30 * sizeof(double)); if(ptd NULL)//有可能不会分配到内存 {printf(Nunber not correctly entered -- bye);exit(EXIT_FAILURE);//程序异常终止程序 } //某些使用ptd的程序 free(ptd);//用完后释放申请的空间将内存还给计算机 ptd NULL;//并且将还记住地址ptd指针置空②使用注意事项 如果让ptd指向这块内存的首元素便可以使用数组名一样使用它也就是说可以使用ptd[0]、ptd[1]等指针用法ptd指向的是一个double类型的指针而不是整个30个double类型的块在C中不一定使用强制转化类型但是在C中必须使用在C中使用强制类型转换更加容易把C程序转化为C最后两步是为了避免内存泄露的问题后面会提到 ③三种创建数组的方式 声明数组直接用常量表达式表达数组的维度用数组名访问数组的元素可以用静态内存或自动内存创建这种数组声明变长数组C99新增特性用变量表达式表达数组的维度具有这种特性的数组只能在自动内存中存储声明一个指针调用malloc函数将其返回值赋给指针使用这个指针访问数组的元素该指针可以是静态的或自动的 2、free函数详解 1函数声明 #include stdlib.h void free(void *ptr);free通常都会搭配malloc使用free的参数是之前mlloc返回的地址该函数释放之前malloc分配的一块内存。不能使用free释放其他方式例如声明一个数组后使用free这样配套使用的话malloc分配内存free释放内存可以重复利用一块内存空间内存池 2使用函数 double* ptd; ptd (double*)malloc(30 * sizeof(double)); free(ptd); ptd NULL;3、exit函数详解 1函数声明 #include stdlib.h void exit(int status);如果malloc函数分配内存失败可以调用函数exit结束程序status是返回给父进程的状态值。标准提供了两个返回值被定义在stdlib.h中保证在所有的操作系统中都能正常工作一些操作系统还会接受一些表示其他运行错误的整数值 EXIT_FAILURE表示程序异常终止EXIT_SUCCESS相当于0表示普通的程序结束 2使用函数 int sum 0; if(scanf(%d, sum) ! 1) {printf(Nunber not correctly entered -- bye);exit(EXIT_FAILURE); }4、内存泄露的危害 void function(int n) {double* temp (double*)malloc(n * sizeof(double));/*假设忘记使用函数free()*/ } int main() {for(inţ i 0; i 1000000)function(1000000); }如果没有使用free函数将malloc申请的内存释放的话1000000*1000000就有可能将所有内存耗尽这类问题就被称为内存泄露在函数末尾调用free函数可以避免这类问题。 5、动态内存分配和变长数组的区别 动态内存分配malloc和变长数组VLA在功能上有点重合比如两者都可以用于创建在运行时才确定大小的数组不同的是变长数组是自动存储类型。因此程序在离开变长数组定义的块的时候变长数组占有的空间会被自动释放不必使用free函数另外一方面free所用的指针变量可以与malloc函数的指针变量不同但是两个指针必须存储相同的地址并且不能释放两次对多维数组来说使用VLA在语法上更加的方便使用malloc就会显得复杂得多 int n 5, m 6;int ar2[n][m];//变长数组要求支持VLAint (* p2)[6];//指向一个6元素数组的指针使用变量p2存储 int (* p3)[m];//指向一个m元素数组的指针使用变量p3存储要求支持VLA p2 (int (*)[6])malloc(n * 6 * sizeof(int));//n*6数组 p3 (int (*)[m])malloc(n * m * sizeof(int));//n*m数组要求支持VLA6、存储类别和动态内存分配 1简单分类内存 可以简单认为程序把它可用的内存分为3部分 供给具有外部链接、内部链接和无连接的静态变量使用供给自动变量使用供给动态内存分配使用内存堆/堆/自由内存 2三类内存的细节 静态存储类别的变量使用的内存数量在编译的时候就确定只要程序还在运行就可以访问存储在该部分的数据。该类别的变量在程序开始执行时就被创建在程序结束的时候被销毁自动存储类别的变量在程序进入变量定义的块时存在程序离开块的时候消失。因此随着程序调用函数和函数结束自动变量所用的内存数量也在相应的增加或减少。这部分的内存通常作为栈来处理这意味着新创建的变量按顺序加入内存然后以相反的顺序销毁动态分配的内存在调用malloc函数或相关函数的时候存在在调用free函数后释放这一部分的内容由程序员管理而不是某套规则。另外未使用的内存块分散在已使用的内存块之间使用动态内存通常比使用栈内存慢
http://www.w-s-a.com/news/583519/

相关文章:

  • 做三个月网站广告收入dw如何制作网页
  • ...课程网站建设简介工信部 网站备案查询
  • 网站代码建设 实例企业网站建设大概的费用
  • 制作网站软件排行榜过年做啥网站致富
  • 哪里有做网站企业seo关键词优化
  • 上海金山网站建设公司手机淘宝客网站怎么做的
  • 网站开发需要公司做网站费用计入什么科目
  • 网站优化有哪些类型免费制作app的傻瓜软件
  • 如何做网站咨询wordpress get
  • 企业网站建设网站做网站用别人的图片
  • 站长统计代码个人网站源代码
  • 求推荐专门做借条的网站公众号排版编辑器
  • 动态做网站网站开发语言查询 蔡学镛
  • 莆田网站建设创意自助建站英文
  • cms系统创建静态网站龙岗网站建设哪家好
  • 自己做的网站被封了邢台规划局网站建设
  • 网站建设项目合同wordpress主题没法用
  • 个旧市哪里有做网站wordpress内页php页面
  • 程序员接活的平台网站互联网平台建设方案
  • 网站安全建设模板深圳企业管理咨询公司
  • 做网站 还是淘宝店wordpress分类链接后加
  • wordpress腾讯云 COSseo内容优化心得
  • 特价旅游机票网站建设i营销
  • 如何成立网站深圳创业项目
  • 建设商业网站惠州网站建设推荐乐云seo
  • 如何申请免费域名做网站免费推广神器
  • 自媒体人专用网站安岳网站建设
  • 特乐网站建设做网站推广要多少钱
  • 山东省建设安全生产协会网站义乌跨境电商公司前十名
  • 做网站优化就是发文章吗起飞页自助建站平台的特点