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

C语言学习笔记20260525—数组

一.数组核心规则总结1. 数组名退化核心规则C 语言中数组名在绝大多数表达式中会退化为指向数组首元素的指针仅 2 个例外例外 1sizeof(数组名)数组名表示整个数组计算的是整个数组的总字节数。例外 2数组名数组名表示整个数组取出的是整个数组的内存地址。2. 二维数组的 3 层指针层级如int arr[2][3] { 1,2,3,4,5,6 };则下面的表达式分别为3. 指针 1 的本质指针1的偏移量永远由指针指向的元素类型的大小决定和指针本身的字节数32/64 位无关。二.代码#define_CRT_SECURE_NO_WARNINGS#includestdio.hintmain(){// *****************************************************************************************/* 数组名退化核心规则 C 语言中数组名在绝大多数表达式中会退化为指向数组首元素的指针仅 2 个例外 例外 1sizeof(数组名)数组名表示整个数组计算的是整个数组的总字节数 例外 2 数组名数组名表示整个数组取出的是整个数组的内存地址 */// *****************************************************************************************// 二维数组定义2行3列内存中连续线性存放intarr[2][3]{1,2,3,4,5,6};// 1. 数组名arr退化为指向首行一维数组的指针// 类型int (*)[3]值为整个二维数组的首地址 arr[0][0]printf( arr is %p\n,arr);// 2. arr取整个二维数组的地址// 类型int (*)[2][3]值和arr相同但指针步长是整个二维数组的大小printf( arr is %p\n,arr);// 3. arr1跳过1个完整的一维数组// 步长3*412字节指向第二行arr[1]的首地址printf( arr1 is %p\n,arr1);// 4. arr1跳过整个二维数组的全部内存// 步长2*3*424字节指向整个数组结束后的下一个内存地址printf( arr1 is %p\n,arr1);// 5. arr[0]1第一行数组退化为int*指针1跳过1个int元素// 步长4字节指向arr[0][1]的地址printf( arr[0]1 is %p\n,arr[0]1);// 6. arr[0]1取第一行数组的地址1跳过1个完整的一维数组// 类型int (*)[3]步长12字节和arr1输出完全相同printf( arr[0]1 is %p\n,arr[0]1);// 错误示例arr[0][0]是int类型的数值1不是内存地址不能用%p输出// printf( arr[0][0]1 is %p\n, arr[0][0] 1);// 7. arr[0][0]1取首行首元素的地址1跳过1个int元素// 类型int*步长4字节和arr[0]1输出完全相同printf(arr[0][0]1 is %p\n,arr[0][0]1);return0;}三.运行结果
http://www.gsyq.cn/news/1379430.html

相关文章:

  • 微信聊天记录永久保存:WeChatMsg完整备份与导出终极指南
  • DIY电池供电电容表:从原理到实践,打造现场诊断利器
  • 金融学论文降AI工具免费推荐:2026年金融学毕业论文降AI免费4.8元达标完整方案
  • BlenderKit插件完整教程:如何在3分钟内找到并导入完美3D素材
  • Windows鼠标点击自动化终极指南:AutoClicker深度解析与实战应用
  • 如何免费解锁Cursor Pro功能:终极完整使用指南
  • 3分钟快速上手:SPT-AKI存档编辑器的完整免费指南
  • RevokeMsgPatcher:重新定义Windows应用行为控制的技术实践
  • 2026 年青岛市南区、青岛市北区、青岛市婚纱摄影五大品牌排名及解析 - 十大品牌榜
  • Linux命令:perf
  • 5大核心功能掌握HandheldCompanion:Windows掌机终极控制伴侣
  • ClojureDocs性能优化技巧:5个关键策略提升文档网站响应速度 [特殊字符]
  • 你的机械键盘能有多独特?探索Cherry MX键帽的无限创意可能
  • Welder安装与环境配置:5分钟内让你的Linux服务器自动化工具就绪
  • 重磅发布:2026年6月最新更新,全国40+百达翡丽官方售后服务中心详细地址与预约电话 - 资讯纵览
  • CowabungaLite插件开发教程:如何扩展自定义功能模块
  • DeepSeek EDA落地难题全解析:3类高频故障诊断流程与7步标准化修复法
  • 麻将AI助手Akagi:3步搭建你的实时对局分析系统,告别盲目打牌!
  • 深度学习实战:使用纯NumPy实现CNN与RNN的完整教程
  • 2026年4月国内比较好的特殊倒锥锚栓批发厂家推荐,锚栓螺栓防锈强,户外使用无忧虑 - 品牌推荐师
  • Veo 2动态构图失效真相:当AI拒绝执行“推轨+俯仰+焦点转移”复合指令时,你必须启用的底层控制协议
  • 如何快速上手SoundMind:10分钟完成音频逻辑推理模型训练
  • Marlin固件稳定性优化实战指南:从基础配置到高级调校的完整解决方案
  • 3步解锁:H5-Dooring可视化编辑器打造专业级H5页面
  • Photoshop-CC2022-Linux疑难解答:GPU加速与Vulkan兼容性问题终极指南
  • DeepSeek DDD落地三重门:领域拆分、限界上下文对齐、上下文映射实战(附企业级代码样例)
  • 技术人最容易被PUA的5个瞬间,第3个太真实了
  • request-promise-native源码解析:深入理解Promise包装器的实现原理
  • 精细化理疗服务,科学守护老人身体健康
  • WTF Auto Layout? 测试策略:使用SnapshotTesting确保解析准确性