Инициализация вкладки char * [] с помощью malloc / calloc - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь инициализировать вкладку char * [], и это вызывает ошибку сегментации, что я делаю неправильно?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <float.h>
int main()
{
    char **cle_par = NULL;
    cle_par = (char**) calloc (22, sizeof (char *)+1);
    int y=0;
    for (y=0; y<22; y++);
    {
        cle_par[y]=(char *) malloc(45*sizeof(char));
    }
    strcpy(cle_par[0], "this_is_a_test");
}

1 Ответ

0 голосов
/ 25 октября 2018

Ваш код содержит ошибку "опечатка", которая делает недействительным цикл for и делает его пустым циклом.

for (y=0; y<22; y++)<b>;</b>, завершающая точка с запятой делает цикл пустым, и я считаю, что это не ваше намерение.Если вы удалите его.Ваш код должен работать нормально.

...