Извините за дурацкие вопросы, только начинаю 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", ведь массив константен! Что не так? - вообще, правильно лия пишу код? Отступы там, всякие мелочи... Может что не совсем правильно, дайте совет?
Ответ на:
комментарий
от df_0903
Ответ на:
комментарий
от OxiD
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от OxiD
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Warnings при использовании basename () (2004)
- Форум unicode, сортировка и буква ё (2008)
- Форум Учебный исходник Си вываливается с Segmentation fault. (2012)
- Форум Проверка типов параметров makecontext (2013)
- Форум UB или нет? (2020)
- Форум Определение размерности массива в «рантайме» в gcc (2015)
- Форум народ, происходит ошибка компиляции (2020)
- Форум [php5][expat] где мои entity? (2008)
- Форум Получить exit code, с которым завершилась программа в середине скрипта (2019)
- Форум Программа из K&R вопросы по warnings, полученные от gcc (2015)