百科狗-知识改变命运!
--

指针变量与普通变量的区别

百变鹏仔1年前 (2023-12-19)阅读数 6#综合百科
文章标签指针变量

普通变量是直接传值

指针变量传递地址,指针内保存的是内存地址,指针有类型,对指针进行解引用操作可以将指针内的内存地址的二进制数据作为指针对应的类型来操作

1、传递参数时:对于指针,&p传递的是指针的地址

指针变量与普通变量的区别

p传递的是指针所指的变量的地址,也就是变量的地址。

2、int *p 和 int p有什么区别

int p和int *p在为函数传参时,对于int p,只传递它的副本,在函数内部改变p的值不能改变

p在函数外面的值。

而对于*p,可以通过*p=X,来改变它之前所指元素的值,函数外边的值也改变。

例如 int *p,a=4; p = &a; fn(p){*p = 5;} 则调用函数后,a=5。

指针变量和变量指针的异同

指针和普通变量的区别,最简单的思考应该按整数的两个不同用法着眼:

整数可以表示序号和数量----数量的概念不必说了,但序号的概念人人都懂但不透彻。

2012表示年----这是序号,它的下一年是2013,即2012+1可得2013,但这里的1是什么?是公元1年吗----是序号还是数量?

2012是今年,2013是明年,两者能相加吗?序号+序号是什么?

指针是什么?指针是严格意义上的序号----存储位置的编号!

所以指针+数量为指针----成立

反之指针-指针为数量----成立

指针+指针------不成立

C和C++中源代码级对存储数据的访问有两种方法:按名字和按指针----就象在大街上按名字(类似变量名)或按门牌号(类似地址)访问商店一样。

1、指针变量是变量的一种,指针变量的值是地址(也是整数),普通变量的值是整数、实数或者其他类型。指针变量的主要作用是修改其他函数的局部变量和访问数组。指针变量需要额外的空间存放地址,由于指针变量是间接访问所指对象,所以比起直接用普通变量名字访问所指对象而言,速度稍慢。

2、例如:int a=5; int *p = &a;

指针p是一个整型指针变量,里面存的是一个地址,这个地址是a的地址。通过取值运算符*就可以用p访问a。指针变量使用起来非常灵活,一个指针变量只占四个字节,但是它可以访问结构体,链表,数组等多数据集合,而且在访问这些变量的时候是对内存直接访问,执行效率高。

指针变量是变量,用于存放指针,或者说存放地址

变量指针是指针,是变量的地址

指针变量可以存放变量的指针,存放了变量的指针的指针变量可以访问那个变量的存储区,间接地修改或读取它的值

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)