小编45a*_*ken的帖子

"变量集但未使用"错误 - 如何解决?

我得到这个错误,错误不是'stringsix',而是所有声明的变量:

assignment42.c:22:9: warning: variable ‘stringSix’ set but not used [-Wunused-but-set-variable]
Run Code Online (Sandbox Code Playgroud)

我只想将它从main传递给函数.我多次面对这个问题,有人可以告诉我一个容易避免这个问题.

int main()
{
char ** listofdetails;
char ** stringOne;
char ** stringTwo;
char ** stringThree;
char ** stringFour;
char ** stringFive;
char ** stringSix;

listofdetails = lineParse();    
printf("%s \n", listofdetails[2]);
stringOne = seperateString1(listofdetails);
stringTwo = seperateString2(listofdetails);
stringThree = seperateString3(listofdetails);
stringFour = seperateString4(listofdetails);
stringFive = seperateString5(listofdetails);
stringSix = seperateString6(listofdetails);
getchar();
return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

1
推荐指数
2
解决办法
1万
查看次数

C - Freeing Malloc.运行时出错

我不知道我的程序有什么问题.我使用一个循环使用malloc分配内存,当我去释放它时,它给了我以下错误:

"*** glibc detected *** ./assignment4: free(): invalid pointer: 0x08eeb196 ***
Run Code Online (Sandbox Code Playgroud)

该错误伴随着具有标题存储器映射的列表.循环从1到7运行.奇怪的是当我释放[0]字符串的值时,我没有得到任何错误.该错误只与我尝试释放上来[1][7]其使用循环malloced.

void lineParse()
{
    int i;
    FILE *fp;
    fp = fopen("specification.txt", "r");

    char ** listofdetails; 
    listofdetails = malloc(sizeof(char*)*6);

    for(i=0;i<6;i++)
    {
        listofdetails[i] = malloc(sizeof(char)*40);
        fgets(listofdetails[i], 40, fp);
        /*printf("%s \n", listofdetails[i]);*/
        /*free(listofdetails[i]);*/
    }


    char ** stringOne; 
    stringOne = malloc(sizeof(char*)*8);

    stringOne[0] = malloc(sizeof(char)*6);
    stringOne[0] = strtok(listofdetails[0], " ");

    for(i=1;i<8;i++)
    {
        stringOne[i] = malloc(sizeof(char)*6);
        stringOne[i] = strtok(NULL, " ");
    }

    char ** stringTwo; 
    stringTwo = malloc(sizeof(char*)*8);

    stringTwo[0] …
Run Code Online (Sandbox Code Playgroud)

c malloc

0
推荐指数
1
解决办法
76
查看次数

标签 统计

c ×2

malloc ×1