数组问题答疑

news2024/11/20 0:26:23

在对数组有一定了解后我们会遇到一些问题,本文章将尽可能的讲解一些常见错误。

文章目录

  • 1.数组名,&数组名分别代表什么?
  • 2.数组形式做形参时是传的整个数组还是首元素地址?
  • 3.为什么在主函数中用sizeof(arr)计算出的结果是整个数组的长度?arr不是说首地址码?
  • 二维数组arr[0],arr[1]表示什么

1.数组名,&数组名分别代表什么?

#include<stdio.h>

int main() {
	int arr[10] = { 9,8,7,4,3,5,2,0,1,6 };
	printf("%p \n", arr);
	printf("%p \n", &arr);

	return 0;
}

结果:
在这里插入图片描述
可以看到结果相同,但是他们的本质却是不同的我们来看

#include<stdio.h>

int main() {
	int arr[10] = { 9,8,7,4,3,5,2,0,1,6 };
	printf("arr       =%p \n",   arr);
	printf("&arr[0]   =%p \n", &arr[0]);
	printf("&arr      =%p \n", &arr);
	
	printf("arr+1     =%p \n", arr + 1);
	printf("&arr[0]+1 =%p \n", &arr[0] + 1);
	printf("&arr+1    =%p \n",  &arr+1);
	
	printf("arr    =%d \n", arr);
	printf("&arr+1 =%d \n", &arr + 1);

	
	return 0;
}

结果:
在这里插入图片描述
,由结果我们可以知道&arr+1加的这个1是整个数组所占据的空间40,所以&arr指向的是整个数组的首地址,而数组名arr,&arr[0]指向的是数组元素的首地址

2.数组形式做形参时是传的整个数组还是首元素地址?

传的是首元素地址,为了提高效率,不可能把数组中所有的元素都传过去
所以在子函数中sizeof(arr)计算出的结果是4/8,而不是整个数组长度

3.为什么在主函数中用sizeof(arr)计算出的结果是整个数组的长度?arr不是说首地址码?

注意:sizeof操作符在使用时有两个例外

  1. sizeof(数组名),这里的数组名是表示整个数组,计算的是整个数组的大小,单位是字节
  2. &数组名,这里的数组名是表示整个数组,&数组名取出的是数组的地址

二维数组arr[0],arr[1]表示什么

#include<stdio.h>
int main() {
	int arr[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 };
	printf("%p\n", arr[0]);
	printf("%p\n", arr[1]);
	printf("%p\n", arr[2]);
	return 0;
 }
 }

结果:
在这里插入图片描述

二维数组可以看做一维数组的一维数组,由相差正好可以得出16arr[0]就代表arr[0][0], arr[1]就代表arr[1][0],arr[2]就代表arr[2][0]

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

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

相关文章

登上抖音热搜榜:如何让你的内容火爆全网

在当今信息爆炸的时代&#xff0c;抖音已经成为了很多人获取信息、娱乐和社交的重要平台。每一天&#xff0c;都有大量的短视频在抖音上诞生&#xff0c;然而&#xff0c;只有少数幸运儿能够登上抖音热搜榜&#xff0c;成为万人瞩目的焦点。那么&#xff0c;如何让你的内容火爆…

【设计模式】解释器模式

文章目录 1.解释器模式定义2.解释器模式的角色3.解释器模式实战案例3.1.场景说明3.2.结构类图3.3.代码实现 4.解释器模式优缺点5.解释器模式适用场景6.解释器模式总结 主页传送门&#xff1a;&#x1f481; 传送 1.解释器模式定义 解析器模式&#xff08;Interpreter Pattern&a…

我国跨境电商行业研究报告(2022)

我国跨境电商行业研究报告 我国跨境电商规模突飞猛进&#xff0c;2022年进出口规模超2万亿元&#xff0c;2023年上半年跨境电商出口8210亿元&#xff0c;增长19.9%。全国跨境电商主体已超10万家&#xff0c;近年来涌现出一批上市公司&#xff0c;以及广州希音等全球独角兽企业。…

Java后端模拟面试 题集④

1.你先作个自我介绍吧 面试官您好&#xff0c;我叫张睿超&#xff0c;来自湖南长沙&#xff0c;大学毕业于湖南农业大学&#xff0c;是一名智能科学与技术专业的统招一本本科生。今天主要过来面试贵公司的Java后端开发工程师岗位。 大学里面主修的课程是Java、Python、数字图…

AD20 ~PCB封装库的制作

1、打开“51单片机最小系统”的工程文件。 2、创建PCB库文件&#xff1a;单击“文件”菜单&#xff0c;选择“新的”选项中的“库”选项&#xff0c;再选择“PCB 元件库”&#xff0c;进入元件PCB封装的编辑界面。 3、保存PCB库文件&#xff1a;选择“文件”菜单&#xff0c;选…

OpenCV实战——使用YOLO进行目标检测

OpenCV实战——使用YOLO进行目标检测 0. 前言1. YOLO 模型简介2. 基于 YOLO 实现目标检测3. 完整代码相关链接 0. 前言 在本节中&#xff0c;我们将使用 YOLO 算法执行目标检测。目标检测是计算机视觉中的一项常见任务&#xff0c;借助深度学习技术&#xff0c;我们可以实现高…

Vue虚拟节点和渲染函数

1.虚拟节点 虚拟节点&#xff08;dom&#xff09;本质上就是一个普通的JS对象&#xff0c;用于描述视图的界面结构 2.渲染函数render()&#xff1a;接收一个 createElement()函数创建的VNode Vue.component("board", {render: function(createElement) {return cr…

025-第三代软件开发-实现需求长时间未操作返回登录界面

第三代软件开发-实现需求长时间未操作返回登录界面 文章目录 第三代软件开发-实现需求长时间未操作返回登录界面项目介绍实现需求长时间未操作返回登录界面实现思路用户操作监控QML 逻辑处理 关键字&#xff1a; Qt、 Qml、 QTimer、 timeout、 eventFilter 项目介绍 欢迎…

【Linux】文件权限、目录权限、掩码、粘滞位以及相关指令

文章目录 Linux权限两种用户Linux权限管理三个问题:什么是权限呢?三种角色是什么:那么为什么存在所属组呢? 文件类型和访问权限&#xff08;事物属性&#xff09;a) 文件类型b)基本权限 文件权限值的表示方法文件访问权限的相关设置方法a)chmodb)chownc)chgrp 权限掩码d)umas…

第87步 时间序列建模实战:LSTM回归建模

基于WIN10的64位系统演示 一、写在前面 这一期&#xff0c;我们介绍大名鼎鼎的LSTM回归。 同样&#xff0c;这里使用这个数据&#xff1a; 《PLoS One》2015年一篇题目为《Comparison of Two Hybrid Models for Forecasting the Incidence of Hemorrhagic Fever with Renal…

UVM-什么是UVM方法学

概念简介 百度对UVM的解释如下&#xff1a; 通用验证方法学&#xff08;Universal Verification Methodology, UVM&#xff09;是一个以SystemVerilog类库为主体的验证平台开发框架&#xff0c;验证工程师可以利用其可重用组件构建具有标准化层次结构和接口的功能验证环境 UVM…

C/C++文件操作————写文件与读文件以及通讯录的改进 (保姆级教学)

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力&#xff0c;一起奔赴大厂。 目录 1.前言 2.写文件函数与读文件函数 …

打印新闻标题,使用封装get、set方法,打印前15个字符串

package day21; import java.util.ArrayList; import java.util.Collections;/*** author monian* Wo yi wu ta,wei shou shu er!*/ public class Homework01 {SuppressWarnings({"all"})public static void main(String[] args) {News news1 new News("新冠确…

Typora的相关配置(Typora主题、字体、快捷键、习惯)

Typora的相关配置(Typora主题、字体、快捷键、习惯) 文章目录 Typora的相关配置(Typora主题、字体、快捷键、习惯)[toc]一、主题配置二、字体配置查看字体名称是否可以被识别&#xff1a;如果未能正确识别&#xff1a; 三、习惯配置四、快捷键配置更改提供的功能的快捷键&#…

【学习笔记】win11 时间显示秒

【学习笔记】windows 11 时间显示秒 原本一直用着 windows 10 的系统&#xff0c;点击右下角的托盘时钟&#xff0c;可以看到当前的秒数&#xff0c;平时拿来粗略的计时&#xff0c;看时间非常的方便&#xff0c;现在换成了 windows 11 的系统&#xff0c;点击右下角的托盘时钟…

如何处理前端本地存储和缓存?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

【Qt控件之QTabBar】介绍及使用

概述 QTabBar类提供了一个选项卡栏&#xff0c;例如用于选项卡对话框。 QTabBar非常简单易用&#xff0c;它使用预定义的形状绘制选项卡&#xff0c;并在选择选项卡时发出信号。它可以被子类化以调整外观和感觉。Qt还提供了一个实现好的QTabWidget。 每个选项卡具有一个tabT…

图——邻接表

图的邻接表表示法&#xff08;有向图&#xff09; 实现绿色的有向图 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <corecrt_malloc.h>#define Max 100//顶点数量最大值typedef struct ArcNode {//边信息int VNode_index;//顶点下标ArcNode…

MySQL索引全解:从理论到实践,打造高效查询的指南

文章目录 索引的数据结构Hash表有序数组树 详细聊聊BTreeBTree的特点树的度&#xff08;宽度&#xff09;可以很大叶子节点存储数据叶子节点双向指针记录 聚簇索引聚簇索引的优点聚簇索引的缺点 覆盖索引如何利用覆盖索引 普通索引与唯一索引的选择查询更新change bufferchange…

从入门到精通,30天带你学会C++【第八天:函数及洛谷精选题目讲解】(学不会你找我)

目录 Everyday English 前言 函数 洛谷 P5736 【深基7.例2】质数筛 分析题意 思路点拨 AC代码 AC截图 结尾 Everyday English Winners never quit! 胜者永不言弃&#xff01; 前言 这节课我们来学习函数&#xff0c;虽然我断更了几周&#xff0c;但我还是要把最…