int *和int[]共同点和区别
如 int *a
和 int b[]
相同点
- a和b的值都表示一片内存区域的地址,都是使用int型进行管理
- 作为函数的形式参数没有任何区别
区别
- a是一个变量,需要分配内存空间进行存储,而b是程序中的一个标号,给编译器提供地址信息,不需要进行保存。因此可以在程序中改变a,但是无法在程序中改变b。
- 可以使用
int b[]
定义数组,如int b[] = {1, 2, 3, 4}
, 但是无法使用int *a
定义数组int *a = {1, 2, 3, 4}
//语法错误。
至于为什么编译器禁止这样的使用:{1, 2, 3, 4}
定义的数组存放在栈中(函数内定义),如果使用int b[]
接受这个定义的话,编译器可以根据b[n]
直接计算出相应的存储位置,不需要将b作为基地址进行寻址。而如果使用int *a = {1, 2, 3, 4}
的话,最终会使用a的值作为基地址再加上偏移量进行寻址。但是a的值在编译时无法获取到,因此还是需要一条赋值语句int *a = b
。这样做的话,不仅赋值耗时,而且寻址比b[n]
慢(需要多次访问内存)。得不偿失,因此编译器禁止int *a = {1, 2, 3, 4}
这样的定义方式。
int *和int[]共同点和区别相关推荐
- const int * 、int * const、int const* 、const int a(){ } 和int a()const { }的区别和联系
前言:很多人都把const int * .int * const.int const* 的区别和联系搞混,我自己在学习C++的过程中,也经常性 弄不 清楚,今天特意总结一下,作为学习 ...
- .net Int16 、(int Int32)、 Int64 的区别
2019独角兽企业重金招聘Python工程师标准>>> .net Int16 .(int Int32). Int64 的区别 easonjim 2015-09-25 01:41:00 ...
- const int 和INT const区别
const int 和INT const区别 2010-04-09 23:26 const int a = 5; int const b = 6; 没区别 指针的时候有区别,引用也有区别 指针的话 1 ...
- Convert.Int32、(int)和int.Parse三者的区别
今天去面试,碰到这样一道题目,回来查了下答案~! Convert.ToInt32.(int)和int.Parse三者的区别: 前者适合将object类类型转换成int类型,如Convert.ToInt ...
- 两个int()方法的区别
这两个方法的最大不同是它们对null值的处理方法: Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常. 没搞清楚Convert.To ...
- 面试刷题7:int和Integer有什么区别?
原始数据类型是java系统的重要组成元素.java号称一切都是对象,原始数据类型除外. 我是李福春,我在准备面试,今天我们来回答一个问题: int和Integer有什么区别? int是原始数据类型,并 ...
- (int*)、(int *)和(int **)的区别
关于对(int*).(int *)和(int **)的区别与理解 萌新学习,记录理解,如果能帮到人就更好了. 如有理解错误还希望大神指正谢谢.
- int const, const int *,int *const,int const *const 区别
今天做了一个题,关于这个问题. const int a =1 / int const a=1 变量a的值不能改变 const int *a=&b 指针变量a指向的值不能改变 int * con ...
- const int, const int const, 和 int const 的区别
const int*, const int * const 和 int const *的区别 声明:本文翻译自:Difference between const int*, const int * c ...
- C++中const int*, const int * const, 和 int const *区别
简介: 本文主要介绍C/C++中,const int*, const int * const, 和 int const *用法的区别,以及相关的示例代码. 1.const int, const int ...
最新文章
- OpenAI开源机器人模拟Python库mujoco-py:可高效处理并行模拟
- c盘怎么扩容_给电脑减压,C盘清理全攻略!
- CSS中background-position详述
- 虚拟机Virtualbox中的Ubuntu系统,安装增强功能时报错:未能加载虚拟光驱VBoxsGuestAdditions.iso到虚拟电脑
- 使用mysql_fetch_array()获取当前行数据
- elementUI + vue 地址跳转:无法返回上一页 - 解决篇
- linux的bash脚本
- ArrayList 一个面试题
- Node Introduce
- 计算机组成原理白中英第四章,计算机组成原理 白中英第四章 指令系统.ppt
- 【OEIS】Xor Sum AtCoder2272
- 人脸识别测试点整理思维导图方式
- 给C盘释放五个G的空间
- 2022年11月(下半年)信息系统项目管理师考试-综合知识真题及解析
- 云服务器 架设传奇_传奇私服架设教程
- 小米手机刷机工具MiFlash怎么用
- Len和lenB的区别
- 华硕ASUS 笔记本 改WIN7 BIOS 设置详解
- 微信小程序+.NET(十一) 小程序之小说阅读器实现
- 计算机研究生就业方向之考编