Извините за дурацкие вопросы, только начинаю C =)
Такая программа:
//03.05.04
#include <stdio.h>
void modify( const int [] );
main()
{
int array[] = { 10, 20, 30 };
modify(array);
printf( "%d\n", array[0] );
}
void modify( const int array[] )
{
++array[0]; //Should be an error!
}
Два вопроса:
- в моей книжке по C сказано, что если объявлять массивы как const,
их нельзя будет изменять, и вообще будет ошибка компиляции, и
приводится пример из борланд с компилера. Но у меня в gcc... Все
работает! Хотя при компиляции выводится предупреждение
testing_arrays.2.c: In function `modify':
testing_arrays.2.c:14: warning: assignment of read-only location
Программа выводит "11", хотя должна быть либо ошибка, либо "10", ведь
массив константен! Что не так?
- вообще, правильно лия пишу код? Отступы там, всякие мелочи... Может
что не совсем правильно, дайте совет?
Форум —
Development
