Передача массива символьных строк функции

Я пытаюсь передать массив символьных строк (строки стиля C) в функция. Однако я не хочу устанавливать максимальный размер каждой строки, входящей в функцию, и не хочу динамически выделять массивы. Вот код, который я написал первым: stackov.c: В функции main: stackov.c: 17: предупреждение: передача аргумента 1 "веселье" из несовместимого типа указателя stackov.c: 5: note: ожидается 'char **', но аргумент имеет тип 'char (*) [12]'

Однако, когда я меняю main () на следующее, он работает:

int main(void)
{
    char myStrings[2][12];
    char *newStrings[2];

    strcpy(myStrings[0],"7/2/2010");
    strcpy(myStrings[1],"hello");
    newStrings[0]=myStrings[0];
    newStrings[1]=myStrings[1];
    fun(newStrings);

    return(0);
}

Isn 't array [2] [12] то же самое, что и массив символьных указателей, когда он передается в функцию?

5
задан Vladimir 18 August 2010 в 15:03
поделиться