标题:关于指针赋值为整数的疑问
只看楼主
我是杨过
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2007-11-23
 问题点数:0 回复次数:2 
关于指针赋值为整数的疑问
#include<stdio.h>
#include<stdlib.h>

int main()
{
        int *p;
        int i = 0;

        
        for (i = 0; i < 6; i++)
        {
                p[italic] = i;??????指针赋为整数??
     [/italic]   }

        for ( i = 0; i < 4; i++)
        {
                printf("%d\n", &p);
        }

        return 0;[italic][italic]
}

i[/italic][/italic]nt main()
{
        int *p;
        int i = 0;

        
        for (i = 0; i < 7; i++)
        {
                p = i;
        }

        for ( i = 0; i < 4; i++)
        {
                printf("%d\n", &p);
        }

        return 0;
}

两段代码 都是数组越界 为什么代码二出错 代码一没问题?? 

、、、、、、、、、、、、、、、、、
刚刚在chinaunix上看到的帖子,很多人说没问题,我就奇怪了,一个指针的值能付给一个整数吗(当然了0出外),是不是我孤陋寡闻了。请高手解释一下

[italic][italic][italic][italic]
[/italic][/italic][/italic][/italic]
搜索更多相关主题的帖子: 赋值 整数 指针 疑问 
2007-11-25 12:51
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
得分:0 
可以通过强制类型转换达到目的
int * x=(int*)0x1234;
但这种方法不太好,我们根本无从得知此地址正处于何种状态,无知的强制转换无异于使用悬浮指针!

英者自知,雄者自胜
2007-11-25 12:58
我是杨过
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2007-11-23
得分:0 
谢谢版主的解释,我觉得也是很奇怪。呵呵!

不要幻想,因为那从来不会是真的!
2007-11-25 13:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-188234-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.138331 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved