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

C语言基础【19】:指针6

1.任何数组在存储上都是一维的,所以只要我们找到数组首元素地址,就可以通过一阶指针变量来遍历数组(或者定位数组任何一个元素)。

int arr[][];
int row = sizeof(arr)/sizeof(arr[0]);
int col = sizeof(arr[0])/sizeof(arr[0][0]);int *p = &arr[0][0];
for(int i = 0 ,i < row*col,i++)
{printf("%d",p[i])
}                            //遍历二维数组,其实和遍历一维的一样//同理需要定位任何一个位置,都可以用p[]来定位

2.地址作为函数参数,地址的单项传递

指针变量作为函数参数可以在函数内部改变指针指向变量的值。

所以需要函数改变变量的值,就要传递地址给到函数。(可以用&,也可以先定义指针指向地址)

3.数组名作为函数形参,会被优化为地址

        其实,在很多情况下,数组名都会被优化为地址,也就是说在很多情况下arr==&arr[0]这个式子是成立的。当然也有特例,比如之前提到的n=sizeof(arr)/sizeof(arr[0]),如果这个式子依然成立,那么我们是不是可以认为sizeof(arr)==4||8?显然如果这样认为,前面的求n的式子是无意义的。             总结arr不会被优化的情况有:1.sizeof        2.对arr取地址,也就是数组的首地址

http://www.dtcms.com/a/391961.html

相关文章:

  • 正则表达式【阿里版】
  • 使用云端GPU训练Lerobot
  • RNA-seq分析之基因ID转换
  • [视图功能9] 图表联动与多维度分析:打造协同动态的数据洞察仪表盘
  • Python基础 6》数据类型_列表(List)
  • 40、大模型工程平台全景对比 - 技术选型指南
  • BEVformer训练nusenes-mini数据集
  • 《Unity3D NavMeshAgent与Rigidbody移动同步问题的技术拆解》
  • Psy Protocol 技术核心解读
  • PS练习3:使用变形将图片放到实际场景中
  • 在排序数组中查找元素的第一个和最后一个位置
  • 一条命令在ubuntu安装vscode
  • 【开题答辩全过程】以 ASP.NET抗疫物资管理系统为例,包含答辩的问题和答案
  • 探饭 - 字节跳动推出的AI美食推荐助手
  • ZCC5515_耐压9.5V ,超低静态功耗5uA,完全替代CS5515
  • 端脑云AI生图体验:从提示词到精美肖像
  • 临界处有一条看不见的河
  • JavaWeb--day8-- Mybatis(正式)
  • 基于WSL BES2710编译环境搭建方法
  • 模块化设计逻辑:太阳镜气流单元 / 耳机可拆卸结构的装配精度与兼容性分析
  • 半监督学习实战:如何用少量标注数据获得媲美全监督学习的性能?
  • 作业3(初学CSS)
  • CSS基础(总结)
  • 【信创云架构 PACS系统】全网首发-基于JDK17+Vue3全新开发的信创国产化系统
  • 若依vue项目里面,使用到oss,这个 是什么
  • Linux中的Ubuntu系统安装配置 MATLAB 开发环境、离线安装非root安装vscode
  • 网站单页应用(SPA)和多页应用(MPA)的区别
  • 10cm钢板矫平机:一副“钢铁脊椎”的矫正日记
  • Nano Banana (Gemini 2.5 Flash Image) 完整体验教程:一键生成你的专属 3D AI 手办
  • Qt水平布局:深入解析与优化技巧