Сергей Борщ (16.01.2006 20:27, просмотров: 1) ответил solder на по моему ты не прав
Да, с точностью до наоборот Можно обычный указатель присвоить константному.
char const Str1[] = "Hello1";
char Str2[] = "Hello2";
void puts(char const *string);
то вполне законно puts(Str1) и puts(Str2). но если Str[] лежит в памяти программ, то для доступа к ней надо использовать LPM, а для доступа к Str2 надо использовать LDS. И как компилятор будет это разгребать? Можно конечно "на лету", для этого вроде есть generic pointers, но это никому не нужные накладные расходы. В существующем варианте ключевое слово __flash разрешает неоднозначность.