Извините за дурацкие вопросы, только начинаю 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)