指针和字符数组笔试题及其解析(第三组)

个人主页:Lei宝啊

愿所有美好如期而遇


第三组笔试题

char *p = "abcdef";printf("%d\n", sizeof(p));
printf("%d\n", sizeof(p+1));
printf("%d\n", sizeof(*p));
printf("%d\n", sizeof(p[0]));
printf("%d\n", sizeof(&p));
printf("%d\n", sizeof(&p+1));
printf("%d\n", sizeof(&p[0]+1));printf("%d\n", strlen(p));
printf("%d\n", strlen(p+1));
printf("%d\n", strlen(*p));
printf("%d\n", strlen(p[0]));
printf("%d\n", strlen(&p));
printf("%d\n", strlen(&p+1));
printf("%d\n", strlen(&p[0]+1));

 

答案 

8 8 1 1 8 8 8

6 5 error error 随机值 随机值 5

(博主用的是64位机器,所以地址占的空间大小为8字节,如果得4的话,是32位机器)  

 

解析 

	char* p = "abcdef";printf("%d\n", sizeof(p));//p是字符指针,大小为4/8printf("%d\n", sizeof(p + 1));//p指向字符'b',求的还是p的大小,4/8printf("%d\n", sizeof(*p));//p指向'a',解引用访问'a',所以大小为1个字节printf("%d\n", sizeof(p[0]));//'a',1字节printf("%d\n", sizeof(&p));//&p,指针类型为char**,还是指针,4/8printf("%d\n", sizeof(&p + 1));//跳过一个char**大小的指针,还是char**类型的指针,4/8printf("%d\n", sizeof(&p[0] + 1));//指向'b'的指针,4/8//--------------------------------------------------------//--------------------------------------------------------printf("%d\n", strlen(p));//长度为6printf("%d\n", strlen(p + 1));//长度为5printf("%d\n", strlen(*p));//error, *p是'a',ASCII值为97,当做地址传入strlen,//成为野指针,非法访问printf("%d\n", strlen(p[0]));//同理printf("%d\n", strlen(&p));//随机值,指针类型为char**,指向p这个指针//注意p是指向字符串首元素的。printf("%d\n", strlen(&p + 1));//随机值,同理printf("%d\n", strlen(&p[0] + 1));//指向第二个字符,长度为5

 

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

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

相关文章

Android逆向学习(四)app修改smali函数跳过弹窗广告,等待广告,更新提醒

Android逆向学习(四)app修改smali函数跳过弹窗广告,等待广告,更新提醒 一、写在前面 这是吾爱破解课程的第三个练习,我在写这篇博客时遇到了vscode插件bug,已经想办法联系原作者了,希望能够尽…

Jmeter 三种提取方式 —— 关联实例

当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理 Jmeter中常用的关联方法: 正则表达式提取器、XPath提取器、JSON提取器​​​​​​ regex: (.*?)-(.*?)-(.*?)\n.: 匹配除换行符(…

python实现对excel表中的某列数据进行排序

如下需要对webCms中的B列数据进行升序排序,且不能影响到其他列、工作表中的数据和格式。 import pandas as pd import openpyxl from openpyxl.utils.dataframe import dataframe_to_rows# 读取 Excel 文件 file_path 1.xlsx sheet_name webCms# 读取 Excel 文件并…

uniapp移动端地图,点击气泡弹窗并实现精准定位

记录移动端地图map组件的使用 需求记录: 移动端地图部分需要展示两个定位点,上报点及人员定位点。通过右上角的两个按钮实现地图定位。点击对应定位气泡,弹出定位点的信息。 效果图如下: map在nvue中的使用。直接用nvue可以直接…

JavaScript闭包漏洞与修补措施

请先看下面一段代码 var obj (function () {var sonObj {a: 1,b: 2}return {get: function (v) {return sonObj[v]}}})()可以看出,这是一段很典型的js闭包代码,可以通过obj调用get方法传一个参数,如果传的是a就可以得到闭包内的对象sonObj.a var obj (function () {var sonO…

edge浏览器无法登录账号!Microsoft 帐户无法登录!

种种原因,将笔记本重置了,重新下载装了系统,但是麻烦也来了,Microsoft 帐户无法登录!edge浏览器无法登录账号,之前的保存的密码,加星的书签页同步不过去,这不完犊子了!干…

Redis7入门概述

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: Java从入门到精通 ✨特色专栏&#xf…

谈谈你的未来吧(励志成为CV算法工程师的第一天)

谈谈你的未来吧(励志成为CV算法工程师的第一天) 前言一、不知道该怎么选择的大一,大二二,好像知道未来路的大三三,谈谈博主我吧四,朝着一个方向前进吧 前言 仅以此篇记录我的学习经过,大家有什…

解决WebSocket通信:前端拿不到最后一条数据的问题

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

C# 子类如何访问子类的方法(同一父类)

在继承关系中,子类可以通过创建另一个子类的对象来访问其方法。下面是一个示例,展示了子类如何访问另一个子类的方法: public class Animal {public virtual void Speak(){Console.WriteLine("我是动物。");} }public class Cat :…

python学习之【深拷贝】

#我的编程语言学习笔记# 前言 上一篇文章python学习之【浅拷贝】 学习了python中的浅拷贝相关内容,这篇文章接着学习深拷贝。 简单回顾 浅拷贝只拷贝浅层元素,深层元素的内存地址不改变 ;当对拷贝产生的新的对象的浅层元素进行更改时&…

vue2踩坑之项目:生成二维码使用vue-print-nb打印二维码

1. vue2安装 npm install vue-print-nb --save vue3安装 npm install vue3-print-nb --save 2. //vue2 引入方式 全局 main.js import Print from vue-print-nb Vue.use(Print) ------------------------------------------------------------------------------------ //vue2 …

FLUX查询InfluxDB -- InfluxDB笔记三

1. 入门 from(bucket: "example_query") // 没有筛选条件直接查询会报错|> range(start: -1h) // |>是管道符,后跟筛选条件 2. 序列、表和表流 序列是InfluxDB的概念,一个序列是由measurement、标签集、一个字段名称 表流是FLUX为了…

Matlab信号处理1:模拟去除信号噪声

由于工作内容涉及信号系统、信号处理相关知识,本人本硕均为计算机相关专业,专业、研究方向均未涉及信号相关知识,因此需进行系统地学习。之前已将《信号与系统》快速过了一遍,但感觉较抽象且理解较浅显。在此系统地学习如何使用Ma…

非华为机型如何体验HarmonyOS鸿蒙系统 刷写HarmonyOS鸿蒙GSI系统以及一些初步的bug修复

最近很多视频网站有非华为机型使用HarmonyOS鸿蒙系统的演示。其实大都是刷了HarmonyOS鸿蒙系统gsi系统。体验还可以。有些刷入后bug较多。那么这些机型是如何刷写gsi?可以参考我以往帖子 安卓玩机搞机-----没有第三方包 刷写第三方各种GSI系统 体验非官方系统_gsi刷…

JAVA反序列化漏洞复现

Weblogic(CVE-2017-10271) 拉取容器 访问 http://192.168.142.151:7001/console/login/LoginForm.jsp ​ 启动nacs 进行漏洞扫描 下载weblogicScanner工具 git clone https://github.com/0xn0ne/weblogicScanner.git 开始扫描 访问http://192.168.1…

切分支解决切不走因为未合并的路径如何解决

改代码的时候改做分支了,本来是在另一个分支上面改代码,结果改到另一个放置上面,然后想着使用git stash进行保存,然后切到另外一个分支再pop,结果不行。 报这个错误,导致切不过去,因为我这边pop…

LDAP服务器如何重启

1、find / -name ldap 该命令只会从根路径下查看ldap文件夹 find / -name ldap2、该命令会从根路径/查看所有包含ldap路径的文件夹,会查询出所有,相当于全局查询 find / -name *ldap*2、启动OpenLADP 找到LDAP安装目录后,执行以下命令 #直…

华为OD机试 - 英文输入法(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷)》…

stable diffusion实践操作-embedding(TEXTUAL INVERSION)

系列文章目录 本文专门开一节写图生图相关的内容,在看之前,可以同步关注: stable diffusion实践操作 文章目录 系列文章目录前言1、embeddding的功能2、如何去下载(https://civitai.com/models)2.1 筛选 TEXTUAL INVERSION2.2 筛选出来2.3 下…