C语言学习/复习27----sizeof/strlen/数组/指针

一、数组笔试题目解析

         

              

1.一维数组

    1.sizeof()操作符与int数组

     
         注意事项1:sizeof()依据类型推断大小
         注意事项2:注意区分是( )内是地址还是普通元素类型
         注意事项3:()内是单独的数组名时计算整个数组的大小,单位为字节
         注意事项4:int类型的数据大小为4字节

2.  sizeof()操作符与char数组

      

         注意事项1:sizeof()依据类型推断大小
         注意事项2:注意区分是( )内是地址还是普通元素类型
         注意事项3:()内是单独的数组名时计算整个数组的大小,单位为字节
          注意事项4:char类型的数据大小为1字节

3.strlen()函数与char数组

注意事项1:strlen()函数会一直扫描直到遇到第一个'\0',然后才能真确反映长度,即字符串的长度,不包括'\0'。strlen()的使用要时刻关注'\0’。
注意事项2:字符数组存一个个字符时要注意有无'\0'
注意事项3:传入地址时会从其地址开始找到'\0'结束 ,如果找不到则返回随机值非法访问报错

4.sizeof()操作符与字符串

       注意事项1:sizeof()依据类型推断大小
       注意事项2:注意区分是( )内是地址还是普通元素类型
       注意事项3:()内是单独的数组名时计算整个数组的大小,单位为字节
       注意事项4:char类型的数据大小为1字节
      注意事项5:字符串结尾默认隐藏字符'\0'也要计入 数组元素个数不计入字符串长度

5.strlen()函数与字符串

注意事项1:strlen()函数会一直扫描直到遇到第一个'\0',然后才能真确反映长度,即字符串的长度,不包括'\0'。strlen()的使用要时刻关注'\0’。
注意事项2:字符数组存一个个字符时要注意有无'\0'
注意事项3:传入地址时会从其地址开始找到'\0'结束 ,如果找不到则返回随机值非法访问报错
注意事项4:字符串结尾默认隐藏字符'\0'也要计入 数组元素个数不计入字符串长度

6.sizeof()操作符与指针变量

       注意事项1:sizeof()依据类型推断大小
       注意事项2:注意区分是( )内是地址还是普通元素类型
       注意事项3:()内是单独的数组名时计算整个数组的大小,单位为字节
       注意事项4:指针类型的数据大小为4/8字节
      注意事项5:字符串结尾默认隐藏字符'\0'也要计入 数组元素个数不计入字符串长度

7.strlen()函数与指针变量

      

注意事项1:strlen()函数会一直扫描直到遇到第一个'\0',然后才能真确反映长度,即字符串的长度,不包括'\0'。strlen()的使用要时刻关注'\0’。
注意事项2:字符数组存一个个字符时要注意有无'\0'
注意事项3:传入地址时会从其地址开始找到'\0'结束 ,如果找不到则返回随机值非法访问报错
注意事项4:字符串结尾默认隐藏字符'\0'也要计入 数组元素个数不计入字符串长度

2.二维数组

     1.sizeof()操作符与整型二维数组

       注意事项1:sizeof()依据类型推断大小
       注意事项2:注意区分是( )内是地址还是普通元素类型
       注意事项3:()内是单独的数组名时计算整个数组的大小,单位为字节
       注意事项4:int类型的数据大小为4字节
      注意事项5: 二维数组的首元素的地址是第一行的一维数组地址

2.sizeof()中的表达式

注意事项1:sizeof()中的表达式不计算,只关心其类型或是否是单独一个(一维或二维)数组名

  

二、指针笔试题解析

    1.数组名与指针

       注意事项1:(int*)强制转换后,指针一次跳4字节
       注意实现2:&数组名获得的是整个数组的地址同sizeof(数组名)一样

2.结构体与指针

       注意事项1:(int*)强制转换后,指针一次跳4字节 ,(long)强转后是4字节长整型
       注意事项2:本题的结构体指针一次步幅为20字节
       注意事项3:0x1是16进制1,等于10进制1。

  

  3.强制转换类型与指针步幅的改变

注意事项1:%x是16进制输出

4.二维数组与指针

5.二维数组与数组指针

   注意事项1:整数以地址形式输出时输出其在内存中存储的补码

6.字符串与二级指针

      答案: at

   

     7.一二三级指针

          

   注意事项1:cpp[ -1]意为*(cpp-1)

   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/641354.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Android]引导页

使用Kotlin Jetpack Compose创建一个左右滑动的引导页, 效果如图. 1.添加依赖项 androidx.compose.ui最新版本查询:https://maven.google.com/web/index.html com.google.accompanist:accompanist-pager最新版本查询:https://central.sonatype.com/ 确保在 build.gradle (M…

Android studio添加aidl文件时,添加按钮为黑色不可点击添加解决办法

在android studio添加aidl文件时出现下面这个情况只需要在模块的build.gradle.kts文件中的android中添加以下代码即可添加aidl android {// 设置 AIDL 支持buildFeatures {aidl true} }

使用大卫的k8s监控面板(k8s+prometheus+grafana)

问题 书接上回,对EKS(AWS云k8s)启用AMP(AWS云Prometheus)监控AMG(AWS云 grafana),上次我们只是配通了EKSAMPAMG的监控路径。这次使用一位大卫老师的grafana的面板,具体地址如下: ht…

实时数仓选型

实时数仓选型 实时数仓选型第一版实时数仓选型第二版 实时数仓选型第一版 实时数仓分层: 计算框架:Flink;存储框架:消息队列(可以实时读取&可以实时写入)ODS:Kafka 使用场景:每过来一条数据,读取到并加工处理DIM: HBase 使用场景:事实表会根据主键获取一行维表数据(1.永…

JavaWeb开发06-原理-Spring配置优先级-Bean管理-SpringBoot原理-Maven继承和聚合-私服

一、Spring配置优先级 不同配置文件,配置同一个属性谁有效 properties>yml>yaml 命令行参数>Java系统属性 项目打包后要改变属性: 红色是Java系统属性,绿色是命令行参数 ‘ 二、Bean管理 1.获取bean 获取IOC容器:ap…

Oracle EBS Interface/API(54)- GL日记账审批

背景: 客户化创建薪酬凭证或者银企付款入账日记账以后,用户希望自动提交审批流程,无需到系统标准功能点击审批,减少用户操作。 快速参考 参考点内容功能导航N: GL->日记账->输入并发请求None基表GL.GL_JE_BATCHESAPI参考下面介绍错误信息表None接口FormNone接口Reque…

记录一下flume中因为taildir_position.json因位置不对导致数据无法从kafka被采到hdfs上的问题

【背景说明】 我需要用flume将kafka上的数据采集到hdfs上,发现数据怎么到不了hdfs。 【问题排查】 1.kafka上已有相应的数据 2.我的flume配置文档(没问题), 3.时间拦截器(没问题), 4.JSONObje…

​可视化大屏C位图:​总揽全局的行政区划图

在可视化大屏设计中,放置行政区划图可以起到以下几个作用: 地理位置展示:行政区划图可以直观地展示各个区域的地理位置和边界,帮助用户了解不同区域的空间分布。这对于多地区或分布式生产的企业来说尤为重要,可以帮助…

git merge 和 git rebese的区别

git merge 和 git rebese的区别 拉取分支和合并代码会涉及两种选择,git merge 和 git rebase: rebase:变基,会有一个干净的分支,但是对于记录来源不够清楚merge:合并,git 分支看起来比较混乱&…

go语言实现心跳机制样例

1、服务端代码: package mainimport ("fmt""net" )func handleClient(conn net.Conn) {defer conn.Close()fmt.Println("Client connected:", conn.RemoteAddr())// 读取客户端的数据buffer : make([]byte, 1024)for {n, err : conn…

【linux】Bad owner or permissions on

在root用户下执行scp操作向另外一个节点拷贝文件时发生了如下错误: Bad owner or permissions on /etc/crypto-policies/back-ends/openssh.config 我们查看他的权限时发现它所链接的文件权限为777 解决方法就是: chmod 600 /etc/crypto-policies/back-e…

基于51单片机的宠物自动喂食语音播报,有实物

1. 51仿真: LCD第一屏显示食物重量,当前时间,温湿度。第二屏显示喂食时间,第三屏显示喂食重量。可通过点击查看喂食时间翻转屏幕显示。 点击查看喂食时间后,显示喂食时间,可以设置三个时间,再点…