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

珠海网站建设解决方案苏州工业园区两学一做教育网站

珠海网站建设解决方案,苏州工业园区两学一做教育网站,西安网站设计 牛人网络,wordpress 多站 列表大家好#xff0c;我是苏貝#xff0c;本篇博客带大家了解指针和数组笔试题解析#xff0c;如果你觉得我写的还不错的话#xff0c;可以给我一个赞#x1f44d;吗#xff0c;感谢❤️ 目录 1.前言2.一维数组2.字符数组2.12.22.32.42.52.6 1.前言 本篇文章是讲述在不同数… 大家好我是苏貝本篇博客带大家了解指针和数组笔试题解析如果你觉得我写的还不错的话可以给我一个赞吗感谢❤️ 目录 1.前言2.一维数组2.字符数组2.12.22.32.42.52.6 1.前言 本篇文章是讲述在不同数组和指针的条件下使用sizeof和strlen让我们对数组和指针的理解更深。 数组名一般表示首元素地址除以下2种情况 1.sizeof(数组名)括号里面只有数组名此时数组名表示整个数组计算的是整个数组的大小 2.数组名数组名表示整个数组取出的是整个数组的地址 指针变量的大小为4/8byte 1.在32位机器下每个地址有32个比特位即32/84个字节所以指针变量的大小也为4个字节 2.在64位机器下每个地址有64个比特位即64/88个字节所以指针变量的大小也为8个字节 2.一维数组 思考下面代码的结果 int a[] {1,2,3,4}; printf(%d\n,sizeof(a));//1 printf(%d\n,sizeof(a0));//2 printf(%d\n,sizeof(*a));//3 printf(%d\n,sizeof(a1));//4 printf(%d\n,sizeof(a[1]));//5 printf(%d\n,sizeof(a));//6 printf(%d\n,sizeof(*a));//7 printf(%d\n,sizeof(a1));//8 printf(%d\n,sizeof(a[0]));//9 printf(%d\n,sizeof(a[0]1));//10结果 1.16bytesizeof(数组名)括号里面只有数组名此时数组名表示整个数组计算的是整个数组的大小4*sizeof(int)16 2.4/8bytesizeof后面括号内不止有数组名所以该数组名代表首元素地址而非整个数组首元素地址0首元素地址是地址就是4/8byte 3.4bytea是首元素地址*a表示对首元素地址解引用找到首元素首元素类型为int所以sizeof(int)4 4.4/8bytea是首元素地址a1是第二个元素的地址是地址就是4/8byte 5.4bytea[1]是第二个元素元素类型为int所以sizeof(int)4 6.4/8bytea表示取出的是整个数组的地址是地址就是4/8byte 7.16bytea表示取出的是整个数组的地址再对整个数组的地址解引用找到整个数组整个数组的大小为16byte 8.4/8bytea表示取出的是整个数组的地址a1表示跳过整个数组后的地址如下图是地址就是4/8byte 9.4/8bytea[0]表示取出首元素地址是地址就是4/8byte 10.4/8bytea[0]表示取出首元素地址1表示第二个元素的地址是地址就是4/8byte 2.字符数组 2.1 char arr[] {a,b,c,d,e,f}; printf(%d\n, sizeof(arr));//1 printf(%d\n, sizeof(arr0));//2 printf(%d\n, sizeof(*arr));//3 printf(%d\n, sizeof(arr[1]));//4 printf(%d\n, sizeof(arr));//5 printf(%d\n, sizeof(arr1));//6 printf(%d\n, sizeof(arr[0]1));//7结果 1.6bytesizeof(arr)表示整个数组的大小6*sizeof(char)6 2.4/8bytesizeof后面括号内不止有数组名所以该数组名代表首元素地址而非整个数组首元素地址0首元素地址是地址就是4/8byte 3.1bytearr是首元素地址*arr表示对首元素地址解引用找到首元素首元素类型为char所以sizeof(char)1 4.1bytearr[1]是第二个元素元素类型为char所以sizeof(char)1 5.4/8bytearr表示取出的是整个数组的地址是地址就是4/8byte 6.4/8bytearr表示取出的是整个数组的地址arr1表示跳过整个数组后的地址如上图是地址就是4/8byte 7.4/8bytearr[0]表示取出首元素地址1表示第二个元素的地址是地址就是4/8byte 2.2 char arr[] { a,b,c,d,e,f }; printf(%d\n, strlen(arr));//1 printf(%d\n, strlen(arr 0));//2 printf(%d\n, strlen(*arr));//3 printf(%d\n, strlen(arr[1]));//4 printf(%d\n, strlen(arr));//5 printf(%d\n, strlen(arr 1));//6 printf(%d\n, strlen(arr[0] 1));//7结果 1.随机值strlen计算的是’\0’之前的字符个数arr是首元素地址strlen(arr)表示从首元素开始一直向后直至找到’\0’由于数组arr中没有’\0’所以strlen一直会找到数组外我们不确定的某一位置停下所以为随机值 2.随机值arr0表示的是首元素地址然后同上 3.错误如下图arr表示的是首元素地址* arr表示对首元素地址解引用找到首元素’a’字符在内存中存储的是字符的ASCII码值a的ASCII码值97。strlen函数的参数为const char * str是指针站在strlen的角度是将实参’a’–97当作地址直接进行访问这是非法访问会报错 4.错误如下图同3 5.随机值arr的类型为char(*)[6]而strlen函数的参数类型为const char * 所以将arr强制类型转化为const char * 类型即为首元素地址然后同1 6.随机值arr1的类型为char( *)[6]然后同5 7.随机值arr[0] 1是第二个元素的地址然后同1 2.3 char arr[] abcdef; printf(%d\n, sizeof(arr));//1 printf(%d\n, sizeof(arr0));//2 printf(%d\n, sizeof(*arr));//3 printf(%d\n, sizeof(arr[1]));//4 printf(%d\n, sizeof(arr));//5 printf(%d\n, sizeof(arr1));//6 printf(%d\n, sizeof(arr[0]1));//7结果 1.7bytearr数组里面的元素实际为 ‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘\0’sizeof(数组名)整个数组所占空间的大小7*sizeof(char)7 2.4/8bytesizeof里面不止有arr所以此时的arr是首元素地址arr0也是首元素地址是地址就是4/8byte 3.1bytesizeof里面不止有arr所以此时的arr是首元素地址再对地址进行解引用找到首元素sizeof首元素1byte 4.1byte 5.4/8bytearr表示取出的是整个数组的地址是地址就是4/8byte 6.4/8bytearr表示取出的是整个数组的地址arr1表示跳过整个数组后的地址是地址就是4/8byte 7.4/8bytearr[0]表示取出首元素地址1表示第二个元素的地址是地址就是4/8byte 2.4 char arr[] abcdef; printf(%d\n, strlen(arr));//1 printf(%d\n, strlen(arr0));//2 printf(%d\n, strlen(*arr));//3 printf(%d\n, strlen(arr[1]));//4 printf(%d\n, strlen(arr));//5 printf(%d\n, strlen(arr1));//6 printf(%d\n, strlen(arr[0]1));//7结果 1.6bytearr数组里面的元素实际为 ‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘\0’strlen计算的是’\0’之前的元素个数arr是首元素地址所以从首元素开始往后数直到遇见’\0’停止‘\0’之前有6个元素 2.6bytearr数组里面的元素实际为 ‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,’\0’strlen计算的是’\0’之前的元素个数arr0表示的是首元素地址所以从首元素开始往后数直到遇见’\0’停止‘\0’之前有6个元素 3.错误arr表示的是首元素地址* arr表示对首元素地址解引用找到首元素’a’字符在内存中存储的是字符的ASCII码值a的ASCII码值97。strlen函数的参数为const char * str是指针站在strlen的角度是将实参’a’–97当作地址直接进行访问这是非法访问会报错 4.错误arr[1]表示的是第二个元素’b’字符在内存中存储的是字符的ASCII码值b的ASCII码值98。strlen函数的参数为const char * str是指针站在strlen的角度是将实参’b’–98当作地址直接进行访问这是非法访问会报错 5.6bytearr的类型为char(*)[6]而strlen函数的参数类型为const char * 所以将arr强制类型转化为const char * 类型即为首元素地址然后同1 6.随机值arr1的类型为char( *)[6]表示跳过整个数组后的地址然后同5 7.5bytearr[0] 1是第二个元素的地址然后同1 2.5 char *p abcdef; printf(%d\n, sizeof(p));//1 printf(%d\n, sizeof(p1));//2 printf(%d\n, sizeof(*p));//3 printf(%d\n, sizeof(p[0]));//4 printf(%d\n, sizeof(p));//5 printf(%d\n, sizeof(p1));//6 printf(%d\n, sizeof(p[0]1));//7结果 1.4/8byte“abcdef”是常量字符串指针变量p里面存的是字符’a’的地址而非整个常量字符串的地址。是指针(地址)就是4/8byte 2.4/8byte“abcdef”是常量字符串指针变量p里面存的是字符’a’的地址而非整个常量字符串的地址p1指向的是字符’a’的下一位即字符’b’是指针(地址)就是4/8byte 3.1byte指针变量p里面存的是字符’a’的地址所以对p解引用找到字符’a’a所占空间大小为1byte 4.1bytep[0] * (p0)‘a’,a所占空间大小为1byte 5.4/8bytesizeof里面的是指针变量的地址是指针(地址)就是4/8byte 6.4/8bytep1表示跳过指针变量p的下一个地址是地址就是4/8byte 7.4/8bytep[0]1 * p01字符’b’的地址是地址就是4/8byte 2.6 char *p abcdef; printf(%d\n, strlen(p));//1 printf(%d\n, strlen(p1));//2 printf(%d\n, strlen(*p));//3 printf(%d\n, strlen(p[0]));//4 printf(%d\n, strlen(p));//5 printf(%d\n, strlen(p1));//6 printf(%d\n, strlen(p[0]1));//7结果 1.6byte常量字符串在结尾处有一个隐藏的’\0’所以常量字符串实际为abcdef\0指针变量p里面存的是字符’a’的地址strlen计算的是’\0’之前的元素个数所以从字符’a’开始往后数直到遇见’\0’停止‘\0’之前有6个元素 2.5bytep1指向的是字符’a’的下一位即字符’b’从字符’b’开始往后数直到遇见’\0’停止‘\0’之前有5个元素 3.错误指针变量p里面存的是字符’a’的地址对p解引用找到字符’a’字符在内存中存储的是字符的ASCII码值a的ASCII码值97。strlen函数的参数为const char * str是指针站在strlen的角度是将实参’a’–97当作地址直接进行访问这是非法访问会报错 4.错误p[0] * (p0) ‘a’站在strlen的角度是将实参’a’–97当作地址直接进行访问这是非法访问会报错 5.随机值p表示取出指针变量p的地址从指针变量p开始往后数直到遇见’\0’停止但是我们并不知道什么时候能遇见’\0’所以为随机值 6.随机值p1表示跳过指针变量p后的地址从跳过指针变量p后的地址所存的字符开始往后数直到遇见’\0’停止但是我们并不知道什么时候能遇见’\0’所以为随机值 7.5bytep[0]1 * (p0)1字符’b’的地址从字符’b’开始往后数直到遇见’\0’停止\0’之前有5个元素 好了那么本篇博客就到此结束了如果你觉得本篇博客对你有些帮助可以给个大大的赞吗感谢看到这里我们下篇博客见❤️
http://www.dnsts.com.cn/news/230115.html

相关文章:

  • 做跨国婚恋网站赚钱吗网站收录时有时没有
  • 有网站前台如何做后台湖北省建设信息网站
  • 免费的做微博的网站模板wordpress 广告格子
  • 武义建设局网站建筑施工图纸培训班
  • 网站宣传的劣势郑州做网站茂睿科技
  • 广州网站搭建多少钱seo博客
  • 稻壳企业网站模板推广商
  • 企业网站意思页面设计的特点是什么
  • 网站关键词百度自然排名优化厦门网络推广专员
  • 让别人做网站的步骤网站统计开放平台
  • 美团初期是怎么建网站小程序登录入口网页版
  • 山西省建设厅入晋备案网站湘潭做网站出色磐石网络
  • 网站建设运行情况济南响应式网站开发
  • 网站开发属于哪个税收分类事件营销的经典案例
  • 石家庄公司建站wordpress多张页面左右滑动
  • 房屋中介做网站的登陆页面模板
  • 网套加工机器设备关键字优化策略
  • 温州市企业网站制作做自媒体必备的8个网站
  • 福州做网站设计上海网络维护服务公司
  • 全国网站建设公司有多少家全国企业系统网站建设
  • 深圳做网站的网络网站平台做推广方案
  • 安阳网站建设兼职域名注册 万网
  • 网站建设案例基本流程图做兼职的网站有哪些工作
  • 网站建设柚子网络科技官网网站换行代码
  • 室内在线设计网站做内部优惠券网站赚钱吗
  • 免费建简单网站网站规划与网页设计案例
  • 西城网站建设浩森宇特php中网站搜索功能实现
  • 淄博怎么做网站wordpress页面显示分类文章
  • 布吉做网站公司学生管理系统网站
  • 百度怎么做自己网站潍坊+网站建设