VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 307|回复: 6

指针问题

[复制链接]
89_avatar_middle
最佳答案
0 
在线会员 发表于 2019-7-5 22:29:27 | 显示全部楼层 |阅读模式
前面都没问题运行最后一句编译可以通过,最后报错了。


int* p_bad = new int[10]{};
       
        for (int i = 0; i < 10; i++)
        {
                cout <<"请输入第"<<i<<"个数组元素的值"<< endl;
                cin >> p_bad[i];
        }
        for (int i = 0; i < 10; i++)
        {
                cout <<"数组元素第" << i <<"个元素的值为:" << p_bad[i] << endl;
                cout << "数组元素第" << i << "个元素的地址:" << (int *)p_bad[i] << endl;
                cout << endl;
               
        }
        delete[]p_bad;
        //cout <<  p_bad<<"\t"<<*p_bad<<endl;




上一篇:为什么这个写入这个文件不能写入正确的数字信息
下一篇:自己练习写了一个字符串连接的小函数,不是到问题出在哪里?一直得不到正确输出。
89_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-7-5 22:31:59 | 显示全部楼层
是不是改成cout<<p_bad<<"\t"<<(int *)p_bad<<endl;就可以了,就是想看看删除后还有没有值 。
89_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-7-5 22:41:43 | 显示全部楼层
最后出来两个一样的地址,是什么意思
82_avatar_middle
最佳答案
0 
在线会员 发表于 2019-7-8 09:50:58 来自手机 | 显示全部楼层
。。。。。
int* p_bad = new int[10]{}后面的括号去掉,
cout << "数组元素第" << i << "个元素的地址:" << (int *)p_bad[i] << endl;这句代码输出的值是数组元素第i+1个元素的值,而不是地址
82_avatar_middle
最佳答案
0 
在线会员 发表于 2019-7-8 09:53:43 来自手机 | 显示全部楼层
1557729811 发表于 2019-7-8 09:50
。。。。。
int* p_bad = new int[10]{}后面的括号去掉,
cout

p_bad是一个整数,把一个整数转换成int*类型,程序就把他当成地址来看,比如int a=1000,int *p=(int*)a,那么p的值就是1000,*p就是在1000这个地址上储存的整数
82_avatar_middle
最佳答案
0 
在线会员 发表于 2019-7-8 09:54:57 来自手机 | 显示全部楼层
可以改成&p_bad[i],或者p_bad+i就可以了
20_avatar_middle
最佳答案
0 
online_vip 发表于 2019-8-3 23:36:40 | 显示全部楼层
int* p_bad = new int[10]{};
        
        for (int i = 0; i < 10; i++)
        {
                cout <<"请输入第"<<i<<"个数组元素的值"<< endl;
                cin >> p_bad;
        }
        for (int i = 0; i < 10; i++)
        {
                cout <<"数组元素第" << i <<"个元素的值为:" << p_bad << endl;
                cout << "数组元素第" << i << "个元素的地址:" << (int *)p_bad << endl;
                // 取地址是&,而不是强制转成指针就行,正确做法是&p_bad [ i]
                cout << endl;
               
        }
        delete[]p_bad;
        //cout <<  p_bad<<"\t"<<*p_bad<<endl;
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-11-20 05:51

Powered by Discuz! X3.4

© 2009-2019 cctry.com

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