社区
C语言
帖子详情
指针 我还得问以下。。。
BJUTmark
2008-06-23 05:26:45
int a[3]={0,1,2};
int (*p)[3]=&a;
是不是这时候P就是一个表示含有3个int指针类型的数组的首地址?
...全文
185
17
打赏
收藏
指针 我还得问以下。。。
int a[3]={0,1,2}; int (*p)[3]=&a; 是不是这时候P就是一个表示含有3个int指针类型的数组的首地址?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hfgongheguo
2008-06-23
打赏
举报
回复
mark 下 , 加深一下理解
lwouyang
2008-06-23
打赏
举报
回复
上面很拗口,捡例子说吧。
对数组中第二个元素的引用方法:
a[1]
*(a+1)
(a+1)[0]
*(&a[0]+1)
(&a)[0][1]
*((&a)[0]+1)
*(&a+1)[0] ==> 错了!
p[0][1]
(*p)[1]
*p[1] ==> 错了!
*(p[0]+1)
*(*p+1)
*(*(p+1)) ==> 错了!
lwouyang
2008-06-23
打赏
举报
回复
1、a 是一个指针,其值是一个地址,也就是说 a 指向一个包含3个int类型的数组的首地址;
2、p 是一个指针,其值是 a,也就是说 p 指向 a;
因为 a 已经是指针,所以 p 是二级指针;
因为 a 指向一个包含3个int类型的数组的首地址( a[1] ==〉 1 ),
所以 p 是一个指向一个包含3个int类型的数组的首地址的指针的指针( p[0] ==〉 a, p[0][1] ==〉 1, p[1] ==〉错了!)。
{ 0, 1, 2}
↑
a
↑
p
Holinan
2008-06-23
打赏
举报
回复
[Quote=引用楼主 BJUTmark 的帖子:]
int a[3]={0,1,2};
int (*p)[3]=&a;
是不是这时候P就是一个表示含有3个int指针类型的数组的首地址?
[/Quote]
p是一个指针,他指向的内容是一个数组,这个数组里面存了3个整形数。
所以p其实就是指向了数组a的首地址
superIT3107
2008-06-23
打赏
举报
回复
[Quote=引用楼主 BJUTmark 的帖子:]
int a[3]={0,1,2};
int (*p)[3]=&a;
是不是这时候P就是一个表示含有3个int指针类型的数组的首地址?
[/Quote]
a已经是地址了
&又是地址的意思
那么&a就是地址的地址
所以int (*p)[3]=&a;就是3个int指针类型的数组的首地址
长安宁
2008-06-23
打赏
举报
回复
int *p[3];这个是一个有三个元素的数组,里面的每个元素都是 int *型;
而int (*p)[3];是一个指向三个元素数组的指针
所以 int (*p)[3]=&a[3]; 正好内在模型匹配,而数据名可以代表数组,所以简写成 int (*p)[3]=&a;
yyyapple
2008-06-23
打赏
举报
回复
[Quote=引用 3 楼 dennis101 的回复:]
错了。
3个int指针类型的数组,定义应是int *p[3];
int (*p)[3]中p是一个指向长度为3的int数组的指针。
前者是指向指针的数组,后者是指向数组的指针,请仔细体会。
[/Quote]
chenhj_wo
2008-06-23
打赏
举报
回复
问题没看懂
ww2734
2008-06-23
打赏
举报
回复
看似有些不妥,
int (*p)[3]=&a;
前面是二级的,后面是一级的……
ww2734
2008-06-23
打赏
举报
回复
看似有些不妥,
int (*p)[3]=&a;
前面是二级的,后面是一级的……
星空Neo
2008-06-23
打赏
举报
回复
p[0][0]=0
p[0][1]=1
p[0][2]=2
K行天下
2008-06-23
打赏
举报
回复
楼主说的有错误:
int a[3]={0,1,2};
int (*p)[3]=&a;
是不是这时候P就是一个表示含有3个int指针类型的数组的首地址?
应该是表示一个指向 含有3个int整型的数组的 指针
你的理解是 int* p[3];这是一个数组,每一个成员都是int*这个类型!
q06380925
2008-06-23
打赏
举报
回复
[Quote=引用 3 楼 dennis101 的回复:]
错了。
3个int指针类型的数组,定义应是int *p[3];
int (*p)[3]中p是一个指向长度为3的int数组的指针。
前者是指向指针的数组,后者是指向数组的指针,请仔细体会。
[/Quote]
楼上正解
day572
2008-06-23
打赏
举报
回复
如下就是这样
typedef int a[3];
a *p;
p就是这样意思.
dennis101
2008-06-23
打赏
举报
回复
错了。
3个int指针类型的数组,定义应是int *p[3];
int (*p)[3]中p是一个指向长度为3的int数组的指针。
前者是指向指针的数组,后者是指向数组的指针,请仔细体会。
maomingxu13
2008-06-23
打赏
举报
回复
对呀,把指针数组p指向了数组a的起始地址,所以p就是原来的a了!
ForestDB
2008-06-23
打赏
举报
回复
yeeeeeees.
C++内存泄漏检测原理+代码
C++内存泄漏检测原理的文档,包括代码,东东来自网络,我亲自整理,欢迎下载。
常量
指针
和
指针
常量的区别
在面试中我们经常会被面试官
问
到什么是常量
指针
,什么又是
指针
常量。可能第一次被
问
到都会有些懵逼(大神略过)。我今天就来讲一讲这二者的区别。 下面开始正题。。。。
指针
常量
指针
常量:顾名思义它就是一个常量,但是是
指针
修饰的。 格式为: int * const p //
指针
常量 在这个例子下定义
以下
代码: int a,b; int * const p=&a //
指针
常...
详解函数
指针
和类成员函数
指针
作者:倾夜·陨灭星尘 一.什么是函数
指针
? 函数
指针
,顾名思义即指向函数的
指针
。 如果要
问
,为什么能用一个
指针
指向一个函数呢?我觉得要理解这个
问
题,以及要理解后面的函数
指针
和类成员函数
指针
,没有什么比从计算机原理的角度来理解更容易了。这里就简要回顾一下相关知识。 众所周知,计算机(图灵机)执行程序的基本流程就是:取指令->执行指令->取下一条指令->……。取指令的位置由一个寄存器PC决定。
指针
常量、常量
指针
;
指针
数组、数组
指针
;
指针
函数、函数
指针
指针
常量、常量
指针
;
指针
数组、数组
指针
;
指针
函数、函数
指针
面试中经常被
问
到一些C++的基础概念,这些概念很基础,但是时间长了就会搞混,这里对其做一个总结。 以上六个名词,主体均是最后的定语 什么意思呢,就是说这些名词都只要看最后那两个字就可以了。
以下
进行举例:
指针
常量:本质是一个常量, 表示
指针
所指的对象值不能变,
指针
可以改变。声明为const int *ptr = &pi. ...
常量
指针
、
指针
常量、数组
指针
、
指针
数组、函数
指针
、
指针
函数 你分清楚了吗????好记好记!!!
常量
指针
、
指针
常量、数组
指针
、
指针
数组、函数
指针
、
指针
函数 啊啊啊 我是服了 学计算机的已经进了绕口令行业!!!! 不得不佩服:
指针
你咋这么sao呢,啥都有你。。。。。 我是被这个几个词彻底搞不行了,下决心找规律,加强记忆!喜欢就喷我吧!!!
以下
都是我的技法:不管是啥,上来你就先***再**** 记住这个,你已经成功一半了!!!真的 不骗你。具体一点就是,哪个词再前面,就是先它,哪个词再后面,就是再它。你可能搞不明白。那你就听我细细道来。 常量
指针
:先常量,再
指针
。 详解:先常量..
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章