24小时热门版块排行榜    

查看: 1046  |  回复: 8
本帖产生 1 个 博学EPI ,点击这里进行查看

简单疯狂

金虫 (小有名气)

[求助] C++数组问题不知出在哪?

#include<iostream>
using namespace std;
void create(int *,int);
int main()
{
        int*a=NULL;
        int len;
        cin>>len;
        create(a,len);
        for(int i=0;i<len;i++)
                cout<<a<<"  ";
        cout<<endl;
        delete []a;
        a=NULL;
        return 0;
}
void create(int *ap,int n)
{
       
        ap=new int[n];
        for(int i=0;i<n;i++) ap=i;
}
麻烦大神看看什么漏了或错了,谢谢!
经验告诉我,求人不如求己
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (文坛精英)

★ ★ ★ ★ ★
简单疯狂: 金币+3, 博学EPI+1, 有帮助 2013-12-10 12:24:41
简单疯狂: 金币+2 2013-12-10 12:40:02
本帖仅楼主可见
2楼2013-12-10 08:09:27
已阅   回复此楼   编辑   查看我的主页

匿名

用户注销 (文坛精英)

★ ★ ★
简单疯狂: 金币+3 2013-12-10 12:39:52
本帖仅楼主可见
3楼2013-12-10 08:11:08
已阅   申请博学EPI   回复此楼   编辑   查看我的主页

purplerose8236

木虫 (职业作家)

【答案】应助回帖

★ ★
简单疯狂: 金币+1 2013-12-10 12:26:18
简单疯狂: 金币+1, 有帮助 2013-12-10 12:40:17
for(int i=0;i<n;i++) ap=i;
你这个只是给第一个地址里赋值了,而指针没有移动,后面的空间里都没有赋值呀
临事而惧,好谋而成!
4楼2013-12-10 09:10:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

简单疯狂

金虫 (小有名气)

引用回帖:
2楼: Originally posted by 硫酸亚铜 at 2013-12-10 08:09:27
你编译出了什么错误?你想得到什么结果呢?麻烦说清楚一点。感觉是你传参数有问题,你应该在函数内释放空间,否则可能导致内存泄露,你在main函数内的a和函数中的ap不是同一个指针,ap应该是a在函数内的拷贝,你是用 ...

主要是这代码运行时会弹出框框说这程序停止运行了,好像是数组一开始没分配空间啊!
经验告诉我,求人不如求己
5楼2013-12-10 12:13:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

简单疯狂

金虫 (小有名气)

引用回帖:
4楼: Originally posted by purplerose8236 at 2013-12-10 09:10:33
for(int i=0;i<n;i++) ap=i;
你这个只是给第一个地址里赋值了,而指针没有移动,后面的空间里都没有赋值呀

那里是我弄错了,应该是ap=i,真正要找的错误不在这里
经验告诉我,求人不如求己
6楼2013-12-10 12:19:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

简单疯狂

金虫 (小有名气)

引用回帖:
3楼: Originally posted by 硫酸亚铜 at 2013-12-10 08:11:08
可以试试用引用加指针试试。

怎样弄,不懂!
经验告诉我,求人不如求己
7楼2013-12-10 12:25:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

简单疯狂

金虫 (小有名气)

引用回帖:
2楼: Originally posted by 硫酸亚铜 at 2013-12-10 08:09:27
你编译出了什么错误?你想得到什么结果呢?麻烦说清楚一点。感觉是你传参数有问题,你应该在函数内释放空间,否则可能导致内存泄露,你在main函数内的a和函数中的ap不是同一个指针,ap应该是a在函数内的拷贝,你是用 ...

弄出来了,在create(int *ap,int)改成create(int *&ap,int),只是在以前看到这样用取址符,还不知道这样关联地址的分配。
经验告诉我,求人不如求己
8楼2013-12-10 12:38:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

简单疯狂

金虫 (小有名气)

引用回帖:
2楼: Originally posted by 硫酸亚铜 at 2013-12-10 08:09:27
你编译出了什么错误?你想得到什么结果呢?麻烦说清楚一点。感觉是你传参数有问题,你应该在函数内释放空间,否则可能导致内存泄露,你在main函数内的a和函数中的ap不是同一个指针,ap应该是a在函数内的拷贝,你是用 ...

谢谢您的提醒!
经验告诉我,求人不如求己
9楼2013-12-10 14:26:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 简单疯狂 的主题更新
信息提示
请填处理意见