Мне нужен массив строк. Длина строки известна во время компиляции, и очень важно, чтобы каждая строка занимала столько места. С другой стороны, количество строк известно только во время выполнения. Каков синтаксис для этого?Объявление массива переменной длины строк фиксированной длины
char* data[STRLENGTH]
является неправильным синтаксисом. char** data
в основном работает, но затем sizeof(data[0])
неправ - он должен быть равен STRLENGTH
.
Это не * это * смущает; указатели на массивы не намного сложнее, чем указатели на другие типы. Просто приоритет '[]' over '*' требует явной группировки. –
Мой первый инстинкт, когда я вижу что-то вроде char (* data), - это найти указатель на функцию. Во всяком случае, вряд ли существует недостаток в определении промежуточного типа (вы передадите его по ссылке, а не по стоимости, не ожидая этого, но это не всегда проблема) – zmbq