2D массив в объеме файла / программы - PullRequest
0 голосов
/ 14 февраля 2012

Мне нужен массив, к которому я могу обращаться из разных методов, я должен выделить этот массив в main (), а затем позволить другим функциям, таким как foo (), получить доступ к этому массиву.

Этот вопрос помог мнес выделением массива: определение двумерного массива с помощью malloc и его изменение Я определяю массив следующим образом: char(*array)[100] = malloc((sizeof *array) * 25200); И я делаю это в main ()Я могу хранить 25200 строк в этом массиве и получить к ним доступ array[1]

Возможно ли теперь получить доступ к этому массиву различными способами, как я могу это сделать?

1 Ответ

1 голос
/ 14 февраля 2012

С этим объявлением:

char (*array)[100] = malloc((sizeof *array) * 25200);

Вы можете иметь функцию foo:

void foo(char array[][100])
{
    array[42][31] = 'A';  // you can access characters elements this way
    strcpy(array[10], "Hello world\n");  // you can copy a string this way
}

и вы можете позвонить foo так:

foo(array);
...