游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: 学习再学习

请教个指针和地址的问题

[复制链接]

37

主题

727

帖子

740

积分

高级会员

Rank: 4

积分
740
发表于 2005-1-28 18:11:00 | 显示全部楼层

Re: Re:请教个指针和地址的问题

congy: Re:请教个指针和地址的问题

只有指针才能++,所以是先进行地址移动,再取值。

我汗一下


我解释一下吧

例如
a=3;
priintf("%d",a++);

priintf("%d",++a);


结果是3,5

以为a++是输出后加上1的,所以此时a为4,但输出的是3(那时还没加1);第二个printf时,a是加上1再输出,就是5了。

明白了吧?。。

现在讲指针
假设a是一个指针变量

*a是其中的值
所以(*a)++就是a所指向的内存的值+1,且是后加
而a++是内存地址的+1,也是后加,这个1不是1个字节,而是看a的类型
如果没记错的话,整数为占4字节,实数(有小数点的)占2字节,char占一字节,所以加后的内存指向为“以前的+数据类型所占的字节”


------------------------------------------------------------------------------------------

如果有错请各位前辈指点一下,呵呵

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2005-1-29 13:43:00 | 显示全部楼层

Re: Re: Re:请教个指针和地址的问题

知川内酷: Re: Re:请教个指针和地址的问题


我汗一下


我解释一下吧

例如
a=3;
priintf("%d",a++);

priintf("%d",+...

我只是省略一些,可能没有说清楚,我是指在这种情况下,搂主是定义了一个顶点格式,我猜想还应该创建了这个格式的数组吧,想必不会重载 ++ 操作符,如果假设成立的话就应该是先地址偏移一位,然后再赋值数组中下一个值。不知这么解释楼主是否明白?

30

主题

298

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
QQ
发表于 2005-1-29 17:33:00 | 显示全部楼层

Re:请教个指针和地址的问题

重载CUSTOMVERTEX的++?不明白有什么作用?

37

主题

727

帖子

740

积分

高级会员

Rank: 4

积分
740
发表于 2005-1-29 17:40:00 | 显示全部楼层

Re:请教个指针和地址的问题

关于CUSTOMVERTEX的++
应该可以去MSDN上查查
可能有sample~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-24 06:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表