数组名和指针数组名深度复习
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//sizeof只关注占用内存空间的大小,不在乎内存中存放的是什么
//是操作符
/*
int main()
{
char arr[] = { "abcdef" };
//a b c d e f \0
printf("%d\n", sizeof(arr));//7
//在初始化的时候f后面还有一个\0
printf("%d\n", sizeof(arr + 0));//4或8
//arr+0是首元素地址,是地址就是4或8
printf("%d\n", sizeof(*arr));//1
//a的地址解引用就是a,一个字节
printf("%d\n", sizeof(arr[1]));//1
//第二个元素b,一个字节
printf("%d\n", sizeof(&arr));//4或8
//取出整个数组的地址,是地址就是4或8
printf("%d\n", sizeof(&arr + 1));//4或8
//跳过这个数组还是地址,是地址就是4或8
printf("%d\n", sizeof(&arr[0] + 1));//4或8
//是b的地址,是地址就是4或8
return 0;
}
*/
#include <string.h>
/*
//strlen是求字符串长度的,关注的是字符中的\0,计算的是\0之前出现的字符的个数
//是库函数,只针对字符串
int main()
{
char arr[] = { "abcdef" };
//a b c d e f \0
printf("%d\n", strlen(arr));//6
//字符串长度读取到\0结束,计算\0之前出出现的字符的个数
printf("%d\n", strlen(arr + 0));//6
//首元素地址开始向后读取到\0结束
printf("%d\n", strlen(*arr));//err
//传的是第一个元素,非法访问
printf("%d\n", strlen(arr[1]));//err
//传的是第二个元素,非法访问
printf("%d\n", strlen(&arr));//6
//
printf("%d\n", strlen(&arr + 1));//随机值
//跳过整个数组向后读取到\0结束
printf("%d\n", strlen(&arr[0] + 1));//5
//从第二个元素开始向后读取到\0结束
return 0;
}
*/
int main()
{
char* p = "abcdef";//a b c d e f \0
//p指向的是首字符a,p里面存放的是a的地址
printf("%d\n", sizeof(p));//4或8
//p是一个指针变量,存放的是地址,是地址大小就是4或8
printf("%d\n", sizeof(p + 1));//4或8
//地址+1还是地址,是地址就是4或8
printf("%d\n", sizeof(*p));//1
//p存的是a的地址,对p解引用就是a,a的大小就是1个字节
printf("%d\n", sizeof(p[0]));//1
//p[0]等价于*(p+0)相当于*p
printf("%d\n", sizeof(&p));//4或8
//取出的是地址,是地址就是4或8
printf("%d\n", sizeof(&p + 1));//4或8
//地址+1还是地址,是地址就是4或8
printf("%d\n", sizeof(&p[0] + 1));//4或8
//p[0]相当于*p是首字母a,取出a的地址+1跳过一个字符就是b的地址
printf("%d\n", strlen(p));//6
//p里存放的是a的地址,从a向后数到\0结束
printf("%d\n", strlen(p + 1));//5
//a的地址+1是b的地址,从b向后数到\0结束
printf("%d\n", strlen(*p));//err
//*p是a,传过去,非法访问
printf("%d\n", strlen(p[0]));//
//*p还是a,传过去,非法访问
printf("%d\n", strlen(&p));//随机值
//&p取出的是p的地址,这里的内存什么时候遇到\0是不确定的
printf("%d\n", strlen(&p + 1));//随机值
//还是随机值
printf("%d\n", strlen(&p[0] + 1));//5
//a的地址+1是b的地址,从b开始向后数到\0结束
return 0;
}
相关文章:
数组名和指针数组名深度复习
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> //sizeof只关注占用内存空间的大小,不在乎内存中存放的是什么 //是操作符 /* int main() { char arr[] { "abcdef" }; //a b c d e f \0 printf("%d\n", sizeof(arr));//…...
Linux 诞生
目录 Linux诞生背景 Linus Torvalds的创举 Linux内核的首次发布 Linux诞生背景 在计算机操作系统的发展史上,Linux是一个重要的里程碑。它的诞生源于对自由、开放和协作精神的追求,以及对Unix操作系统的深入研究和改进。 在1991年之前,Un…...
借助Aspose.Email,管理受密码保护的 PST 文件
在当今的数字环境中,保护您的数据比以往任何时候都更加重要。确保您的电子邮件数据受到密码保护是维护安全性的关键步骤。对于使用 Microsoft Outlook 数据的开发人员来说,管理受密码保护的 PST(个人存储表)文件可能是一项关键任务…...
MySQL数据库MHA高可用
目录 一、MHA简述 二、MHA 的组成 三、MHA 的特点 四、MHA工作原理 五、MHA部署步骤 六、搭建 MySQL MHA MHA一主两从高可用集群示意图 实验环境 1. Master、Slave1、Slave2 节点上安装 mysql5.7 2. 关闭防火墙 3. 修改 Master、Slave1、Slave2 节点的主机名 4. 修…...
DevEco Studio使用技巧和插件推荐
DevEco Studio是一款强大的集成开发环境(IDE),为开发者提供了丰富的功能和插件。以下是一些使用技巧和插件推荐: 使用技巧 设置中文界面: 打开DevEco Studio,选择“Configure”,再点击“Prefer…...
使用Node.js与Express构建RESTful API
💖 博客主页:瑕疵的CSDN主页 💻 Gitee主页:瑕疵的gitee主页 🚀 文章专栏:《热点资讯》 使用Node.js与Express构建RESTful API 1 引言 2 Node.js与Express简介 3 安装Node.js与Express 4 创建Express项目 5…...
从0开始搭建一个生产级SpringBoot2.0.X项目(二)SpringBoot应用连接数据库集成mybatis-plus
前言 最近有个想法想整理一个内容比较完整springboot项目初始化Demo。 连接Oracle数据库集成mybatis-plus,自定义WrapperFactory。配置代码生成器 一、引入jar包 <!--oracle驱动 --><dependency><groupId>org.springframework.boot</groupI…...
Docker部署教程:打造流畅的斗地主网页小游戏
Docker部署教程:打造流畅的斗地主网页小游戏 一、项目介绍项目简介项目预览 二、系统要求环境要求环境检查Docker版本检查检查操作系统版本 三、部署斗地主网页小游戏下载镜像创建容器检查容器状态查看容器日志安全设置 四、访问斗地主网页小游戏五、总结 一、项目介…...
redis的客户端
目录 redis的客户端一:jedis1:jedis的使用步骤:2:jedis连接池 二:springDataRedis1:入门使用2:配置序列化器3:stringRedisTemplate redis的客户端 一:jedis 1:jedis的使…...
图片分类标注工具python
图片分类标注工具 运行代码:将代码保存到 Python 文件中并运行。选择文件夹:运行时会弹出对话框,选择要分类的图片文件夹。标注分类:程序会逐张显示图片,你可以在下方输入框中输入类别标签,并点击“Next”…...
Rust命令行,实现自动反编译Android APK包工具
Rust-CLI实现自动反编译APK Rust提供了比较好的CLI接口,可以快速的编写命令行应用, 用于日常的工具类使用。 分享一个用Rust命令行实现自动反编译Android APK包工具,是之前学习Rust写的一个练手小工具,可以快速反编译APK,同时也学习下用Rust…...
10. NSTableView Table 数据表格
表格是非常重要和复杂的一个控件,本节会用大量篇幅来把表格这东西力求讲清楚。 基本设置 表格结构 表格是 OS X 组件中为数不多采用了MVC设计模式来实现的控件,即tableView–dataSource–Delegate,这种分层架构给处理数据带来了极大的便利…...
javase笔记8---File与IO流
File类型 简介 在程序中,使用java.io.File这个类来描述和操作磁盘上的一个文件或文件夹(目录)。 File这个类,能新建、删除、移动,重命名文件或文件夹,也能获取或者修改文件或文件夹的信息(如大小,修改时间等)…...
docker上传离线镜像包到Artifactory
docker上传离线镜像包到Artifactory 原创 大阳 北京晓数神州科技有限公司 2024年10月25日 17:33 北京 随着docker官方源的封禁,最近国内资源也出现无法拉取的问题,Artifactory在生产环境中,很少挂外网代理去官方源拉取,小编提供…...
【专用名词的离线语音识别在2024年底的解决方法调查-会议签到的补充】
语音识别在会议点名中的使用 概要解决问题的过程不行的一些参考可以的一个package自定义词语的拼音转换遗留的问题 小结 概要 提示:这里可以添加技术概要 这里只实现一个方面,每个android会议设备都可通过语音发送参会者姓名,自动转换成文字添加到人员名单. 语音采集…...
OS基础-
OS基础 内存管理 内核用户设备管理 设备框架I/O子系统网络多媒体 音频视频运维 控制台GUIdebug审计计算机组成 CPU ALUregister SPLRPCR0-R12CPSRcacheclockInterrupt Vector tableIVTRMMU/MPU 内存访问权限配置,支持多进程BUSMEMORYI/O单线程 特点:结构…...
《大型语言模型实战指南:应用实践与场景落地》一文详解大型语言模型的11种微调方法
导读:大型预训练模型是一种在大规模语料库上预先训练的深度学习模型,它们可以通过在大量无标注数据上进行训练来学习通用语言表示,并在各种下游任务中进行微调和迁移。随着模型参数规模的扩大,微调和推理阶段的资源消耗也在增加。…...
嵌入式浏览器 -- Chromium VS Firefox
嵌入式浏览器概念 嵌入式浏览器是嵌入式系统中的核心组件之一,用于为设备提供网络访问能力和内容显示功能。与传统PC浏览器相比,嵌入式浏览器更加注重性能优化和资源效率,同时确保核心功能可用,如HTML渲染、JavaScript支持和多媒…...
权限大、数量多、破坏强、管理难......企业特权访问管理怎么管?
特权账号,通往企业数据大门的“钥匙”。 它权限大,具有高危命令或操作的执行权限; 破坏性强,操作可能影响他人使用或其他系统故障; 信息泄露风险大,操作可能获取别人或其他系统相关隐私信息;…...
UE5 第一人称示例代码阅读0 UEnhancedInputComponent
UEnhancedInputComponent使用流程 我的总结示例分析firstthenand thenfinally&代码关于键盘输入XYZ 我的总结 这个东西是一个对输入进行控制的系统,看了一下第一人称例子里,算是看明白了,但是感觉这东西使用起来有点绕,特此梳…...
如何在Linux下安装和配置Docker
文章目录 安装前的准备在Debian/Ubuntu上安装Docker添加Docker仓库安装Docker验证安装 在CentOS/RHEL上安装Docker安装必要的软件包设置Docker仓库安装Docker启动Docker服务 Docker的基本使用拉取一个镜像运行一个容器 配置Docker创建Docker目录使用非root用户运行Docker 结语 …...
apisix的原理及作用,跟spring cloud gateway有什么区别?
apache APISIX 是一个高性能、可扩展的开源 API 网关,它主要用于处理 API 请求、流量管理、安全控制和服务治理。APISIX 可以将复杂的服务架构中的不同服务通过统一的网关来进行管理和监控,为微服务架构提供了便捷的流量入口管理方式。 APISIX 的原理 …...
华为HarmonyOS实现实时语音识别转文本
场景介绍 将一段音频信息(短语音模式不超过60s,长语音模式不超过8h)转换为文本,音频信息可以为pcm音频文件或者实时语音。 开发步骤 在使用语音识别时,将实现语音识别相关的类添加至工程。 import { speechRecogni…...
DIY可视化-uniapp悬浮菜单支持拖动、吸附-代码生成器
在Uniapp中,悬浮菜单支持拖动和吸附功能,可以为用户带来更加灵活和便捷的操作体验。以下是对这两个功能的详细解释: 悬浮菜单支持拖动 提高用户体验:用户可以根据自己的需要,将悬浮菜单拖动到屏幕上的任意位置&#x…...
HTTP cookie 与 session
一.Cookie 定义: 是服务器发送到用户浏览器并保存在浏览器上的一小块数据, 它会在浏览器之后向同一服务器再次发起请求时被携带并发送到服务器上。 通常, 它用于告知服务端两个请求是否来自同一浏览器, 如保持用户的登录状态、 …...
智慧停车场导航系统架构及反向寻车系统解决方案
一、系统概述: 随着当前室内定位导航技术在大型公共场所如政务中心、商业综合体、车站中的应用越来越多,人们对智慧停车场的需求也日益凸显出来,并且智慧停车场对大型公共场所智慧化的整体建设起到重要作用。如何更有效提高停车效率…...
【小程序上传图片封装2024,支持多图,带进度,上传头像】
import config from ./config;// 支持多图,显示进度 export function uploadImages(count 1, sourceType, onLoading null, showProgress false, fileKey file) {return new Promise((resolve, reject) > {wx.chooseMedia({count: count, // 可以选择的图片数…...
[A-14]ARMv8/ARMv9-Memory-内存模型的类型(Device Normal)
ver0.1 [看前序文章有惊喜。] 前言 前面花了很大的精力把ARM构建的VMSA中的几个核心的议题给大家做了介绍,相信大家已经能够理解并掌握ARM的内存子系统的工作原理大致框架。接下来我们会规划一些文章,对ARM内存子系统的一些细节做一下介绍,使ARM的内存子系统更加的丰满。本…...
驾校管理系统|基于java和小程序的驾校管理系统设计与实现(源码+数据库+文档)
驾校管理系统平台 目录 基于java和小程序的驾校管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师&#…...
@Mapper使用中遇到的问题解法汇总
最近终于有时间写点代码相关的文章了,工作真的太忙了,果然又要测试又要开发的人最🐂🐴。 1.查询数据库有数据,但是代码中写select语句的时候查出为null Select("SELECT * FROM xx_manager order by id limit 1&q…...
富蕴县建设局网站/cms系统
打电话时听不到对方声音什么原因?日常我们有些事情都不需要去见面,通过手机打个电话就沟通了。这样大大方便了我们的生活,但是如果你给朋友打电话,听不到对方声音怎么办?小编忍不住自行脑补了一下对方那尴尬的场面。那么iPhone通话听不到对方声音怎么解决呢?看看小编给大家整…...
泉州网站排名优化/整站优化方案
可参考:http://xuwensong.elastos.org/2014/01/13/ubuntu-%E4%B8%8Bmysql-cluster%E5%AE%89%E8%A3%85%E5%92%8C%E9%85%8D%E7%BD%AE/ 具体的安装过程,可参考MysqlCluster手册中的第4章。 安装:1,检查系统是否已存在mysql组和mysql用户,若不存在…...
财政局网站建设自查报告/国内新闻最近新闻今天
内部模块图与状态机图一、内部模块图二、状态机图一、内部模块图 二、状态机图 xmind和jpg格式文件下载链接 状态机图网址浏览链接,密码:56JC 内部模块图网址浏览链接,密码:ob35...
专业商城网站制作/外包网站有哪些
Remove K Digits题目:给出一个非负的整数num, 用字符串表示,去掉k个digits之后得到一个最小的新数字 思路: Zuo-生成窗口最大值数组 - 239. Sliding Window Maximum 给出一个整型数组arr和一个大小为w的窗口,从左向右滑动窗口&…...
个人工作室如何做网站/舆情信息报送
在教材3.4节中两个问题(最近对问题、凸包问题)中任意选择一个问题,编程实现用蛮力法求解。 具体算法参考教材40-42页。#include <stdio.h> #include <stdlib.h> #include <math.h> int bestPoints(int n) { int d1000,…...
网站制作大概需要多少钱/网络推广费用计入什么科目
本文引用地址:http://www.eepw.com.cn/article/149309.htm继续/* For spinlocks etc */#define local_irq_save(x)__asm__ __volatile__(pushfl ; popl %0 ; cli:g (x): /* no input */ :memory)将标志寄存器的内容放在内存x中。请查看gcc汇编继续static inline voi…...