Я пытаюсь передать массив символьных строк (строки стиля 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] то же самое, что и массив символьных указателей, когда он передается в функцию?