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

淄博网站制作公司定制计算机网络营销策划方案

淄博网站制作公司定制,计算机网络营销策划方案,深圳建网站信科,规划馆网站建设C语言之sizeof 和 strlen 文章目录 C语言之sizeof 和 strlen1. sizeof 和 strlen 的比较1.1 sizeof1.2 strlen1.3 sizeof 和 strlen 的对比 2. 练习2.1.1 一维数组2.1.2 字符数组 1. sizeof 和 strlen 的比较 1.1 sizeof sizeof是C语言中的一个关键字#xff0c;计算的是变量…C语言之sizeof 和 strlen 文章目录 C语言之sizeof 和 strlen1. sizeof 和 strlen 的比较1.1 sizeof1.2 strlen1.3 sizeof 和 strlen 的对比 2. 练习2.1.1 一维数组2.1.2 字符数组 1. sizeof 和 strlen 的比较 1.1 sizeof sizeof是C语言中的一个关键字计算的是变量所占内存空间的大小单位是字节如果操作数是数据类型的话计算的是使用该类型创建的变量所站内存空间的大小 sizeof只关心所占内存空间的大小不关心内存中存放的什么数据 例如 #include stdio.h int main() {int a 20;printf(%zd\n, sizeof(a));printf(%zd\n, sizeof a);printf(%zd\n, sizeof (int));//printf(%zd\n, sizeof int);//errreturn 0; } 代码运行结果如下 sizeof计算时可以去点括号但当sizeof计算数据类型创建的变量需要占多少内存空间的时候括号不能省略第四句printf代码是错误的sizeof是单目操作符返回一个size_t类型的结果size_t是不是就是无符号整型打印size_t的结果最好用%zd否则会有警告 1.2 strlen strlen是C语言中的一个库函数只用来求字符串的长度。函数原型如下 size_t strlen ( const char * str );strlen计算的是字符串中 ’ \0 之前的长度当没有 ’ \0 的时候strlen还是会继续往后寻找直到找到 ’ \0 ’ 所以使用不恰当就会导致越界查找 例如: #include stdio.h #include string.h int main() {char arr1[] { a,b,c };char arr2[] { abc };printf(%zd\n,strlen(arr1));printf(%zd\n, strlen(arr2));return 0; }代码运行结果如下 arr1数组中是以单个字符的形式来存入数组中的所以数组中只有三个元素没有 ’ \0 当使用strlen求长度的时候就会越界查找导致打印一个随机值arr2数组中是以字符串形式存入数组中的字符串是默认以 ’ \0 ’ 结束所以使用strlen求字符串长度时计算的是’ \0 ’ 之前的字符数量也就是’a‘ ‘b’ ‘c’ 3个strlen的返回值也是size_t也需要使用%zd来打印 1.3 sizeof 和 strlen 的对比 sizeof sizeof是一个单目操作符sizeof计算的是操作数所占内存的大小单位是字节sizeof不关心内存中放的是什么类型 strlen strlen是一个库函数需要包含头文件string.hstrlen只用于求字符串的长度计算的是 ’ \0 之前字符的个数strlen关心内存中是否有 ’ \0 ‘会一直向后查找直到找到’ \0 可能会造成查找越界 2. 练习 2.1.1 一维数组 #include stdio.h //数组名的理解 //数组名一般表示数组首元素的地址 //但是有2个例外 //1. sizeof(数组名)数组名表示整个数组计算的是整个数组的大小单位是字节 //2. 数组名数组名表示整个数组取出的数组的地址 //除此之外所有遇到的数组名都是数组首元素的地址 int main() {int a[] { 1,2,3,4 };printf(%zd\n, sizeof(a)); //- sizeof(数组名)的情况计算的是整个数组的大小单位是字节 - 16printf(%zd\n, sizeof(a 0)); //a表示首元素的地址加上0之后还是首元素地址32位下为4字节64位下为8字节 - 4/8printf(%zd\n, sizeof(*a)); //a表示首元素的地址解引用之后得到第一个元素所以为4个字节 - 4printf(%zd\n, sizeof(a 1)); //a表示首元素的地址首地址加上一指向第二个元素但是还是地址是地址大小就为 - 4/8printf(%zd\n, sizeof(a[1])); //a[1]表示数组中下标为1的元素也就第二个int大小为4个字节 - 4printf(%zd\n, sizeof(a)); //- 数组名的情况取出的是整个数组的地址是地址大小就为 - 4/8printf(%zd\n, sizeof(*a)); // 1. 取地址操作符和解引用操作符相抵消得到- sizeof(数组名)的情况计算的是整个数组的大小单位是字节 - 16// 2. a 的类型是数组指针int(*)[4]*a就是对数组指针解引用访问一个数组的大小是16个字节 - 16printf(%zd\n, sizeof(a 1)); //- 数组名的情况取出的是整个数组的地址加一之后跳过了整个数组但是还是地址是地址大小就是 - 4/8printf(%zd\n, sizeof(a[0])); //取出数组中下标为0的元素的地址是地址大小就是 - 4/8printf(%zd\n, sizeof(a[0] 1));//取出数组中下标为0的元素的地址加一之后得到第二个元素的地址是地址就是 - 4/8return 0; }代码运行结果如下 环境为VS2022,X64,Debug 2.1.2 字符数组 sizeof #include stdio.h int main() {char arr[] { a,b,c,d,e,f };printf(%zd\n, sizeof(arr)); //- sizeof(数组名)的情况计算的是整个数组的大小单位是字节 -6printf(%zd\n, sizeof(arr 0)); //arr表示首元素地址加上0之后还是首元素地址32位下为4字节64位下为8字节 - 4/8printf(%zd\n, sizeof(*arr)); //arr表示首元素地址解引用之后得到第一个元素所以为4个字节 - 1printf(%zd\n, sizeof(arr[1])); //arr[1]表示数组中下标为1的元素char类型大小为1个字节 -1printf(%zd\n, sizeof(arr)); //- 数组名的情况取出的是整个数组的地址是地址大小就为 - 4/8printf(%zd\n, sizeof(arr 1)); //- 数组名的情况取出的是整个数组的地址加一之后跳过了整个数组但是还是地址是地址大小就是 -4/8printf(%zd\n, sizeof(arr[0] 1));//取出数组中下标为0的元素的地址加一之后得到第二个元素的地址是地址就是 - 4/8return 0; }strlen #include stdio.h #include string.h int main() {char arr[] { a,b,c,d,e,f };//strlen计算的是字符串的长度printf(%zd\n, strlen(arr)); //以字符形式存入数组从第一个字符a向后数直到遇到\0,所以会打印随机值printf(%zd\n, strlen(arr 0)); //首地址0还是首地址还是从第一个a向后数直到遇到\0,所以会打印随机值//printf(%zd\n, strlen(*arr)); err 错误//printf(%zd\n, strlen(arr[1]));err 错误printf(%zd\n, strlen(arr)); //还是从第一个数组还是数打印随机值printf(%zd\n, strlen(arr 1));//跳过了整个字符数组从 f 字符之后开始数直到数到 \0 之前随机值printf(%zd\n, strlen(arr[0] 1));//跳过了第一个元素从第二个元素开始数直到数到 \0 之前随机值return 0; }代码运行结果如下
http://www.pierceye.com/news/615699/

相关文章:

  • 大连企业网站排名优化平面设计和网页设计
  • 广州网站建设工作室招聘文创产品设计分析
  • 产品是做网站seo网站设计费用
  • 公司网站的搭建方案做海报图片的网站
  • 纯文本网站建设小米发布会最新
  • 定制版网站建设费用网站服务器干啥
  • 漂亮的网站是什么建设出来的弄一个小程序要多少钱
  • 房地产网站模板 下载免费空间和域名
  • 通付盾 建设网站公司最新永久地域自动跳转
  • 宁波建网站选哪家好一点wordpress手机全部显示
  • 如何注册属于自己的网站做列表的网站
  • 网站公司seo杭州网站建设模板
  • 网站内链如何布局优化大师下载
  • 如何做网站需求表格清单电影购买网站怎么设计
  • 有口碑的常州网站建设家政公司网站建设方案
  • 用户体验设计师吉林网站seo
  • 便宜营销型网站建设优化建站多网站绑定域名
  • 什么网站教人做3d效果图网站建设电话销售不被挂断
  • 村级网站建设 不断增强免费logo设计图案创意
  • 做网站优化有什么途径什么类型的公司需要做建设网站的
  • 计算机毕设代做网站深圳自适应网站开发
  • 万网主机建设网站流程idc 网站备案
  • 收费用的网站怎么做珠海网站关键词推广
  • 学技巧网站制作网站建设税率多少
  • 高端网站设计平台网页设计模板的网站
  • 万网云服务器网站上线网站开发开票税率
  • 西安高端网站制作公司网站开发需要哪些知识
  • 不错的网站建设公网站建设产品展示型的
  • 泰安住房和城乡建设局网站东莞网站推广哪家好信息
  • 个人网站制作的选题意义简短干净三字公司起名