Есть ли способ защитить область памяти?
У меня есть такая структура:
#define BUFFER 4
struct
{
char s[BUFFER-1];
const char zc;
} str = {'\0'};
printf("'%s', zc=%d\n", str.s, str.zc);
Предполагается, что она работает со строками длины BUFFER-1 и гарантирует, чтоон заканчивается на '\ 0'.
Но компилятор выдает ошибку только для:
str.zc='e'; /*error */
Не если:
str.s[3]='e'; /*no error */
Если компиляция с gcc и некоторым флагом можетделай, это тоже хорошо.
Спасибо, Беко