Re: extern и массивы
От: Bell Россия  
Дата: 16.06.08 15:52
Оценка:
Здравствуйте, overt, Вы писали:

O>В одном файле объявлен и инициализирован массив

O>
O>char str[] = "0123456789";
O>

O>а в дргом объявлен как
O>
O>extern char str[100];
O>


O>Каков истинный размер такого массива, 100 или 11 ?

11

O>И как убедиться, что рамезр именно таков, т.к. даже если объявляю

O>
O>char str[] = "0123456789";
O>

O>а потом пишу за пределами макс. индекса, то дебагер не ловит нарушение границ во время исполнения кода в DEBUG сборке.
O>(MS VS 7)

Иcпользовать strlen.
Завести рядом с массивом переменную, хранящую размер:
char str[] = "0123456789";
size_t str_sz = sizeof(str)/sizeof(*str);

...

extern char* str;
extern size_t str_sz;
Любите книгу — источник знаний (с) М.Горький
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.