首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用realloc时出错-使用size=3重新分配char*时出现问题

使用realloc时出错-使用size=3重新分配char*时出现问题
EN

Stack Overflow用户
提问于 2019-02-11 06:32:54
回答 1查看 33关注 0票数 0

我正在做一个学校项目,当我编码它的时候,我得到了这个关于无效next大小的错误。我将在这里简短地介绍一下我的主代码中发生的事情。程序似乎一到最后的重新锁定就崩溃了当size=3谢谢你

代码语言:javascript
复制
    #include <stdlib.h>
    int main(){
    char * arga[7];
    arga[1]="2018-11-12";
        arga[2]="2018-11-13";
        arga[3]="EUR";  
        arga[4]="BRL";
        arga[5]="JPY";
        arga[6]="GBP";
        int argc=7;

    int i=4;
        int size=2;
        //int indexes = (sizeof(arga)/sizeof(arga[0]))+1;
        char**moedas=malloc(size*sizeof(char*));
        moedas[0]=arga[3];

        while(i<argc){

            moedas[i-3]=arga[i];
            moedas=realloc(moedas,size*sizeof(char*));
            size++;
            i++;
        }
    }
EN

Stack Overflow用户

发布于 2019-02-11 06:43:59

您可以立即写出已分配的内存:

代码语言:javascript
复制
int size=0;
char**moedas=malloc(size*sizeof(char*));
moedas[0]=arga[3];

因为索引0在malloc(0)之外

然后在while的第一个循环中,当我在行中为4时

代码语言:javascript
复制
moedas[i-3]=arga[i]

因为索引1也在malloc(0)之外

将大小初始化为1后,第一个错误将消失(索引0合法),但索引为1的第二个错误不会消失

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54621786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档