社区
C++ 语言
帖子详情
指针指针指针 关于c中指针问题!!
micro_sun
2008-04-18 01:17:53
若T为指针变量,指向某一内存区域首地址,那么T[1],T[2]表示什么?
还有 按书上所说,T+1表示地址计算 结果为T+1*c(c表示T所指的变量所占字节数),那么T+1*c这个地址在内存中到底是哪儿呢,如何确定的,内存中每一处都是有固定地址(比如某个编号)的吗 还是内存中的地址编号是按物理位置连续分布的??
小弟初学指针,还望大虾不吝赐教~
...全文
96
12
打赏
收藏
指针指针指针 关于c中指针问题!!
若T为指针变量,指向某一内存区域首地址,那么T[1],T[2]表示什么? 还有 按书上所说,T+1表示地址计算 结果为T+1*c(c表示T所指的变量所占字节数),那么T+1*c这个地址在内存中到底是哪儿呢,如何确定的,内存中每一处都是有固定地址(比如某个编号)的吗 还是内存中的地址编号是按物理位置连续分布的?? 小弟初学指针,还望大虾不吝赐教~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
micro_sun
2008-07-17
打赏
举报
回复
[Quote=引用 11 楼 meiZiNick 的回复:]
没遇到过这种情况.
[/Quote] 怎么没遇到? 严蔚敏老师的数据结构里光这种情况。。由于想考研所以在学数据结构,,不过最近又不是很有考研的激情了,所以最近学JAVA多些。。。。再次谢谢各位的指教^_^
meiZiNick
2008-05-01
打赏
举报
回复
没遇到过这种情况.
matrixdwy
2008-04-20
打赏
举报
回复
int *T;
int c = 3;
T = &c;
*T就是3
T[0]也是3;
T[1]是c的后面第4个字节处的地址的值,一般来说是垃圾,因为这个地址还没有被使用,只是一堆没有用的01的组合,但是T[1]仍然可以根据这些01来“翻译”成为一个整型数值,这个数值是没有意义的。
在说的明确点,比如 &c = 00001234 (这个不是正确的内存地址格式,只是为了方便起见才举了这么个例子)
那么T指向的就是 00001234
&T[1] 就是 00001238 T[1]的值是00001238~00001241(4个字节,因为int占4字节)这段范围里面的01组合所“翻译”出来的整型值
&T[2] 就是 00001242 T[2]的值是00001242~00001245(4个字节,因为int占4字节)这段范围里面的01组合所“翻译”出来的整型值
shuangwen163
2008-04-20
打赏
举报
回复
指针我也不是很懂
aayzaayz
2008-04-20
打赏
举报
回复
[Quote=引用 6 楼 flyingpig4945 的回复:]
举个例子,楼主且看:
int a[3] = {1, 2, 3};
int *p = a;
p[0] == a[0] == 1;
p[1] == a[1] == 2;
...
p[n]为自p开始偏移量为n * sizeof (int)地址的变量
偏移量和T的“原始类型”(如T为int *,则为int;若T为char *,则为char)的sizeof、n有关
明白否?
另:我想分数的多少不是有没有人回答的原因。
[/Quote]
p+1 = & (p[1])
P+2 = &(P[2])
*(p+1) = a[1] = p[1]
flyingpig4945
2008-04-20
打赏
举报
回复
Lstyk讲的比偶规范……学习一下:-)
flyingpig4945
2008-04-20
打赏
举报
回复
举个例子,楼主且看:
int a[3] = {1, 2, 3};
int *p = a;
p[0] == a[0] == 1;
p[1] == a[1] == 2;
...
p[n]为自p开始偏移量为n * sizeof (int)地址的变量
偏移量和T的“原始类型”(如T为int *,则为int;若T为char *,则为char)的sizeof、n有关
明白否?
另:我想分数的多少不是有没有人回答的原因。
Lstyk
2008-04-20
打赏
举报
回复
T[1] = *(T + 1),解引用T+1所指向的变量
T[n] = *(T + n),
&T[1] = T + 1, &T[n] = T + n,
“内存中每一处都是有固定地址(比如某个编号)的吗 还是内存中的地址编号是按物理位置连续分布的?”
这个问题现在我也不知道。
T + n所指向的地址是指从T所指向的地址向后移动了n * sizeof(*T)个字节,
至于是向内存高地址方向移动还是向低地址方向移动,不同种类的机器可能不一样。
micro_sun
2008-04-20
打赏
举报
回复
2楼的,为什么是(char*)T?强制转换为 指向CHAR型的指针 是指什么
micro_sun
2008-04-20
打赏
举报
回复
T是指针啊,sizeof(T)是多少呢,是T所指的变量占的空间吗?
SORRY啊,现在手头较紧,所以分不多,还望见谅
icoding
2008-04-18
打赏
举报
回复
T[1] == (char*)T+(sizeof(T)*1)
T[2] == (char*)T+(sizeof(T)*2)
lyserver
2008-04-18
打赏
举报
回复
分太少了,一般是没有人愿回答的。
简单说一下吧,T是内存中的一个地址,这个地址可以是物理地址,也可以是逻辑地址,视实际情况而定。
T+1*sizeof(T)表示是在T的地址是偏移sizeof(t)个字节。
T[0]的地址与T的地址一样,T[1]则与T+1*sizeof(T)一样,T[2]则与T+2*sizeof(T)一样。
GTAV竖
中
指鼠标
指针
美化包(win)
《GTAV竖
中
指鼠标
指针
美化包:Windows系统下的个性化操作指南》 在数字化的世界里,个性化成为了许多用户表达自我风格的一种方式,这不仅局限于桌面壁纸、屏保,也包括了鼠标的
指针
样式。《GTAV竖
中
指鼠标
指针
美化...
C语言字符串
指针
(指向字符串的
指针
)_C语言
中
文网1
然而,
指针
是C语言
中
非常重要的一个概念,它能指向内存
中
的任何数据。在处理字符串时,我们可以使用
指针
来操作字符串,这就是所谓的“字符串
指针
”。 1. **
指针
的概念**
指针
是一个变量,它存储了另一个变量的地址...
C语言再再论
指针
修订版
2. **增加了C++的相关内容**:相比于早期版本,修订版
中
加入了更多关于C++
中
指针
使用的讨论,这对于同时学习C和C++的读者来说尤为重要。 3. **章节结构的优化与调整**:修订版
中
增加或合并了一些章节,并且修正了...
C,C++
中
指针
问题
详解
在编程世界里,C 和 C++ 语言
中
的
指针
是一个至关重要的概念,它们为程序员提供了直接访问内存的能力,使得高效编程成为可能。本篇将详细阐述
指针
的相关知识点,包括其定义、用法、操作以及常见陷阱。 首先,我们要...
c
中
指针
的一些特殊用法
### C
中
指针
的一些特殊用法 #### 一、引言 C语言作为一种高效且功能强大的编程语言,广泛应用于系统编程、嵌入式开发等领域。其
中
,
指针
是C语言
中
一个非常重要的概念,它提供了对内存直接操作的能力。本文将深入...
C++ 语言
65,192
社区成员
250,525
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章