指针和数组的关系和区别(指针和数组的区别)

2024-07-12 17:25:26 2

指针和数组的关系和区别(指针和数组的区别)

其实指针和数组的关系和区别的问题并不复杂,但是又很多的朋友都不太了解指针和数组的区别,因此呢,今天小编就来为大家分享指针和数组的关系和区别的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

指针和数组的区别

C++/C程序中,指针和数组在不少地方都是可以相互替换使用的,这就让人产生一种错觉,以为两者是等价的。 数组或是在静态存储区被创建(全局数组),或是在栈上被创建。数组名对应着,注意不是指向,一块内存,其地址与容量在生命期内保持不变(当然,使用了realloc()的不算),只有数组的内容可以改变。 指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。指针远比数组灵活,当然也就更危险。 区别之一: char a = "hello"; a = ’X’; cout 《《 a 《《 endl; char *p = "world"; // 注意p指向常量字符串 p = ’X’; // compiler不能发现该错误,不过在运行的时候会发生runtime error cout 《《 p 《《 endl; 区别之二: 用运算符sizeof可以计算出数组的容量(字节数)。比如对应上面的代码,sizeof(a)的值是12(包括最后面的’\0’)。指针p指向a,但是sizeof(p)的值却是4。这是因为sizeof(p)得到的是一个指针变量的字节数,相当于sizeof(char*),而不是p所指的内存容量siziof(char)。C++/C不能知道指针所指的内存容量。 值得注意的是,当数组作为函数的参数进行传递时,数组就自动退化为同类型的指针。那么不论数组a的容量是多少,sizeof(a)始终等于sizeof(char *)。

指针与数组的关系是什么啊

1、指针:系统为某一个变量开辟单元格,指针便指向此单元格的变量值。

2、数组:系统为某一组数开辟一组单元格,数组首地址便是你定义的数组变量名。

数组和指针的唯一区别是,不能改变数组名称指向的地址。

对于数组来说,数组的首地址,也可以用指针来表示操作,如:

int a;

int *p,n;

p = a;

对第一个元素取值,可以用几种方法:

n =a;

n = *p;

n = p;

n = *(p+0) ;

但是以下语句则是非法的:

readings = totals; // 非法!不能改变 readings totals = dptr; // 非法!不能改变 totals

数组名称是指针常量。不能让它们指向除了它们所代表的数组之外的任何东西。

扩展资料

下面的程序定义了一个 double 数组和一个 double 指针,该指针分配了数组的起始地址。随后,不仅指针符号可以与数组名称一起使用,而且下标符号也可以与指针一起使用。

int main()

{

const int NUM_COINS = 5;

double coins = {0.05, 0.1, 0.25, 0.5, 1.0};

double *doublePtr; // Pointer to a double

// Assign the address of the coins array to doublePtr

doublePtr = coins;

// Display the contents of the coins array

// Use subscripts with the pointer!

cout 《《 setprecision (2);

cout 《《 "Here are the values in the coins array:\n";

for (int count = 0; count 《 NUM_COINS; count++)

cout 《《 doublePtr 《《 " ";

// Display the contents of the coins array again, but this time use pointer notation with the array name!

cout 《《 "\nAnd here they are again:\n";

for (int count = 0; count 《 NUM_COINS; count++)

cout 《《 *(coins + count) 《《 " ";

cout 《《 endl;

return 0;

}

程序输出结果:

Here are the values in the coins array: 0.05 0.1 0.25 0.5 1 And here they are again: 0.05 0.1 0.25 0.5 1

当一个数组的地址分配给一个指针时,就不需要地址运算符了。由于数组的名称已经是一个地址,所以使用 & 运算符是不正确的。但是,可以使用地址运算符来获取数组中单个元素的地址。

c语言中的数组和指针的区别

C语言中,数组的名称等价于数组的首地址,当然可以利用指针开辟动态空间,使用方式与数组在形式上相同的,但是他们有一个本质的区别,数组名相当于一个地址常数,而指针是一个以地址为内容的变量。指针与数组的关系可以参考下面的网页:***隐藏网址***

指针和数组的区别是什么

你好,指针是指向一处内存的东西,里面装着这处内存的地址。数组也是指针,但它在一开始定义的时候,就指向了一处空内存(系统给你的,可以放心使用),且他是*const常量指针(注意不是指向常量的指针),这个指针只要一声明,就不能再改为指向其他内存。而且,数组和指针都能用中括号运算符进行地址偏移。综上所述,指针和数组的本质是完全一样的,只不过数组一开始就获得了一块内存

C语言中,指针和数组的区别和联系

指针就是一个装地址的变量,数组是内存中的一个区域,而数组名是这个区域的首地址。也就是说你在定义指针的时候编译器只分配了一个变量的空间(空间大小由内存地址长度决定),而定义数组的时候编译器分配了一段区域的空间(空间大小由里面的数字和数组的类型决定)。使用上你可以把一个地址赋值给指针,但是不能赋值给数组名。你可以直接给数组里面的变量赋值,这是安全的,因为内存已经申请好了,而给指针里面装个那个地址赋值就要小心了,因为指针里面那个地址很可能会出错。

c语言中数组和指针的区别与联系

数组是用指针方式实现的,但数组值是一个常量,即不能改变数组的首地址,而指针是一个变量,可以改变它的值;如:数组 a和指针p,p=a+1;是合法的,但a=a+1;是不合法的。

数组和指针的区别

  数组和指针的区别:   1、指针变量用于保存数据的地址,数组用于直接保存数据(当然你可能见过,数组的每个元素是指针,不过,一组指针也是数据,它们各自的内容才是地址)。   2、访问方式:指针是间接访问,首先取得指针的内容作为地址,再去该地址访问数据;数组是直接访问,数组名即是地址。   3、指针通常用于动态数据;数组通常用于固定数目和类型的一组数据。   4、定义指针变量并不会带来内存分配,要自行分配内存并且将指针变量的内容改写为分配好的地址,通常用内存分配函数如malloc达到;定义数组会隐式分配内存。   5、对sizeof操作符的返回值影响,sizeof(指针)永远会返回平台指针大小,通常32位机返回4,64位返回8,而sizeof(数组名),则会返回数组的内存大小,这取决于数组包含多少个数据。

数组和指针有什么区别

数组是开辟一块连续的内存空间,数组本身的标示符代表整个数组,可以用sizeof取得真实的大小,数组内可直接放元素值。指针则是只分配一个指针大小的内存,并可把它的值指向某个有效的内存空间,如果对指名求sizeof,就是4。指针只是保留变量的地址。

C语言算法中指针和数组有什么区别

数组和指针是不同的。定义一个数组就为数组划分了一段内存空间,而指针是不占用内存空间的,除非是用malloc等类似函数为其分配内存空间。指针可以指向一个数组的内存空间,比如:inta={0};int*p=a;指针也可以指向函数,是很灵活的。

关于指针和数组的关系和区别到此分享完毕,希望能帮助到您。

指针和数组的关系和区别(指针和数组的区别)

本文编辑:admin

更多文章:


铁路12306官网登录(怎样登陆12306火车票网上订票官网)

铁路12306官网登录(怎样登陆12306火车票网上订票官网)

其实铁路12306官网登录的问题并不复杂,但是又很多的朋友都不太了解怎样登陆12306火车票网上订票官网,因此呢,今天小编就来为大家分享铁路12306官网登录的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录怎样登

2024年7月22日 18:07

relieve(relieve什么意思)

relieve(relieve什么意思)

大家好,relieve相信很多的网友都不是很明白,包括relieve什么意思也是一样,不过没有关系,接下来就来为大家分享关于relieve和relieve什么意思的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目录r

2024年8月17日 21:01

360官方手机助手(360手机助手有什么作用)

360官方手机助手(360手机助手有什么作用)

本文目录360手机助手有什么作用360手机助手在哪360手机助手有什么作用他可以在你的手机连接电脑的时候,将手机上一些例如联系人,图片,短信息,之类的东西备份下来,其次可以检测手机软件帮你更新到最新,还可以清理手机垃圾,优化手机内存空间,当

2024年2月7日 14:20

青海卫视的节目表是怎样的?青海海西州茫崖市发生3.6级地震,震源深度10千米,目前情况如何

青海卫视的节目表是怎样的?青海海西州茫崖市发生3.6级地震,震源深度10千米,目前情况如何

本文目录青海卫视的节目表是怎样的青海海西州茫崖市发生3.6级地震,震源深度10千米,目前情况如何青海大地震青海玉树大地震青海省大地震青海玉树发生大地震是真的吗青海卫视节目表西宁:破获违法贩卖青海湖裸鲤案,青海湖裸鲤是什么品种的鱼青海失联一四

2023年10月16日 19:20

特殊符号网名生成器(2021带特殊符号的网名,可复制的漂亮特殊符号网名2021)

特殊符号网名生成器(2021带特殊符号的网名,可复制的漂亮特殊符号网名2021)

今天给各位分享2021带特殊符号的网名,可复制的漂亮特殊符号网名2021的知识,其中也会对2021带特殊符号的网名,可复制的漂亮特殊符号网名2021进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录2021带特殊

2024年5月19日 00:04

gg修改器免root版中文下载(《GG修改器》下载地址介绍)

gg修改器免root版中文下载(《GG修改器》下载地址介绍)

“gg修改器免root版中文下载”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看gg修改器免root版中文下载(《GG修改器》下载地址介绍)!本文目录《GG修改器》下载地址介绍gg修改器官网无root下载哪个软件好用gg修改

2024年5月21日 14:26

北京时间毫秒显示器(北京时间校准几时几分几秒几毫秒怎么添加手机屏幕)

北京时间毫秒显示器(北京时间校准几时几分几秒几毫秒怎么添加手机屏幕)

本篇文章给大家谈谈北京时间毫秒显示器,以及北京时间校准几时几分几秒几毫秒怎么添加手机屏幕对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录北京

2024年4月4日 06:01

香港地铁线路图(香港地铁线路图)

香港地铁线路图(香港地铁线路图)

本文目录香港地铁线路图从香港回深圳龙华的地铁路线香港地铁怎么收费香港地铁线路图香港地铁线路图截至2019年底,香港地铁全长264千米,由观塘线、荃湾线、港岛线、南港岛线(东西段)、东涌线、将军澳线、西铁线、东铁线、屯马线、迪士尼线、机场快线

2024年5月16日 12:43

下载小说txt格式的网站(有哪些免费好用的电子书下载网站)

下载小说txt格式的网站(有哪些免费好用的电子书下载网站)

大家好,今天小编来为大家解答以下的问题,关于下载小说txt格式的网站,有哪些免费好用的电子书下载网站这个很多人还不知道,现在让我们一起来看看吧!本文目录有哪些免费好用的电子书下载网站有什么下载TXT电子书的网站有什么好的下载TXT电子书的网

2024年7月15日 06:28

安卓手机下载软件(安卓手机怎么下载不了软件)

安卓手机下载软件(安卓手机怎么下载不了软件)

其实安卓手机下载软件的问题并不复杂,但是又很多的朋友都不太了解安卓手机怎么下载不了软件,因此呢,今天小编就来为大家分享安卓手机下载软件的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录安卓手机怎么下载不了软件安卓手

2024年6月22日 18:19

植物大战僵尸 版手机版怎么下载(怎么下载植物大战僵尸mixed版手机版)

植物大战僵尸 版手机版怎么下载(怎么下载植物大战僵尸mixed版手机版)

“植物大战僵尸 版手机版怎么下载”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看植物大战僵尸 版手机版怎么下载(怎么下载植物大战僵尸mixed版手机版)!本文目录怎么下载植物大战僵尸mixed版手机版《植物大战僵尸》贝塔版手

2024年7月7日 08:50

飞信app官方下载(.怎么下载飞信)

飞信app官方下载(.怎么下载飞信)

这篇文章给大家聊聊关于飞信app官方下载,以及.怎么下载飞信对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录.怎么下载飞信怎么下载飞信啊飞信下载2012正式版官方免费下载飞信怎么下载啊怎么下载飞信到手机上飞信怎么下载飞信怎么下

2024年7月11日 04:18

qq密码找回(qq密码忘记了怎么办快速找回)

qq密码找回(qq密码忘记了怎么办快速找回)

“qq密码找回”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看qq密码找回(qq密码忘记了怎么办快速找回)!本文目录qq密码忘记了怎么办快速找回QQ密码忘记了怎么找回忘记QQ密码怎么找回我的qq密码忘了,怎样找回qq密码怎么

2024年7月23日 11:58

暗黑破坏神2隐藏职业(《暗黑破坏神2》怎么才能触发隐藏的事件,遇到超级迪亚波罗有什么攻略)

暗黑破坏神2隐藏职业(《暗黑破坏神2》怎么才能触发隐藏的事件,遇到超级迪亚波罗有什么攻略)

大家好,暗黑破坏神2隐藏职业相信很多的网友都不是很明白,包括《暗黑破坏神2》怎么才能触发隐藏的事件,遇到超级迪亚波罗有什么攻略也是一样,不过没有关系,接下来就来为大家分享关于暗黑破坏神2隐藏职业和《暗黑破坏神2》怎么才能触发隐藏的事件,遇到

2024年7月1日 05:59

优酷tv客户端官方下载(优酷视频怎么在电视上下载)

优酷tv客户端官方下载(优酷视频怎么在电视上下载)

大家好,如果您还对优酷tv客户端官方下载不太了解,没有关系,今天就由本站为大家分享优酷tv客户端官方下载的知识,包括优酷视频怎么在电视上下载的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录优酷视频怎么在电视上下载优

2024年7月23日 21:09

txt免费下载完结全本软件(免费的小说软件)

txt免费下载完结全本软件(免费的小说软件)

各位老铁们,大家好,今天由我来为大家分享txt免费下载完结全本软件,以及免费的小说软件的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录免费的小说软件

2024年8月27日 15:30

儿童益智游戏排行榜前十名(智力游戏排行榜前十名)

儿童益智游戏排行榜前十名(智力游戏排行榜前十名)

这篇文章给大家聊聊关于儿童益智游戏排行榜前十名,以及智力游戏排行榜前十名对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录智力游戏排行榜前十名全球十大智力游戏是什么有谁知道全球十大智力游戏益智玩具排行榜前十名10个儿童智力游戏益

2024年7月10日 21:55

实况足球2017手机版下载(实况足球2017在哪个地方下载啊)

实况足球2017手机版下载(实况足球2017在哪个地方下载啊)

其实实况足球2017手机版下载的问题并不复杂,但是又很多的朋友都不太了解实况足球2017在哪个地方下载啊,因此呢,今天小编就来为大家分享实况足球2017手机版下载的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录实

2024年7月3日 11:22

拼多多电脑版官网(拼多多电脑网页版怎么打开)

拼多多电脑版官网(拼多多电脑网页版怎么打开)

大家好,如果您还对拼多多电脑版官网不太了解,没有关系,今天就由本站为大家分享拼多多电脑版官网的知识,包括拼多多电脑网页版怎么打开的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录拼多多电脑网页版怎么打开拼多多app要

2024年6月24日 04:35

破解版游戏盒子大全软件(哪些破解游戏软件可以在线玩贴吧)

破解版游戏盒子大全软件(哪些破解游戏软件可以在线玩贴吧)

各位老铁们好,相信很多人对破解版游戏盒子大全软件都不是特别的了解,因此呢,今天就来为大家分享下关于破解版游戏盒子大全软件以及哪些破解游戏软件可以在线玩贴吧的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录哪些破解游

2024年7月20日 13:55

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1730
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1154
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1151
标签列表

热门搜索