Какие имена правильно написаны на языке си

от admin

Переменные в языке Си. Объявление переменной в Си

Чтобы хранить в своей программе какие-либо данные, вам понадобятся переменные. Прежде всего, нужно научиться эти переменные в программе создавать. Другими словами, вспоминая нашу аналогию с коробками, чтобы в коробку что-то положить, её, эту самую коробку, хорошо бы сначала где-нибудь раздобыть.

В книжках по программированию процесс создания переменной называют объявлением переменной . Это словосочетание хорошо бы знать, чтобы понимать профессиональную литературу и речь других программистов. Но ещё более важно понимать, что за этим словосочетанием скрывается.

Как объявить переменную?

Для того чтобы объявить переменную, необходимо указать её тип и записать её имя. Ну и не забыть поставить «;». Общая стуктура объявления переменной показана на следующем рисунке.

Рис.1. Общий синтаксис объявления переменной.».

В примере на рисунке мы создаём переменную с именем num, в которой можно будет хранить целые числа. На то, что мы собираемся использовать переменную для хранения целых чисел, указывает тип данных int.

Ещё парочка примеров:

Листинг 1. Объявление переменных

Для имён переменных есть одно правило, которое надо будет запомнить.

В качестве имени переменной может выступать любая последовательность символов латинского алфавита, цифр и знака нижнего подчеркивания «_», которая начинается с буквы.

На самом деле, на имя переменной есть дополнительные ограничения, но мы пока в такие детали вдаваться не будем. Давайте лучше посмотрим на примеры правильных и неправильных имён.

Правильные имена переменных

Peremennaya, flag, f3, var4, KolichestvoBukv, fd4s, FLaG, key_number

Неправильные имена переменных

2num – начинается с цифры
num flat – содержит пробел в имени
nomer-telefona – содержит дефис

И ещё один важный момент. В языке программирования Си регистр букв очень важен. Например, переменные с именами flag, FLAG, FlAg, fLAg — это всё различные переменные. Кроме того, есть ряд слов, которые нельзя использовать для названия переменных. Например, int, void, return и другие. Это специальные ключевые слова , которые зарезервированы для нужд самого языка и нигде в другом месте не могут быть использованы.

Кстати, за одно объявление можно создать сразу несколько переменных одного типа.

Листинг 2. Объявление нескольких переменных

Всё просто и логично. Сначала указывает тип переменных, а потом их имена, разделённые запятой.

Переменная в памяти компьютера.

Пару слов о том, как выглядит объявление переменной с точки зрения компьютера.

Можно считать, что при объявлении мы сообщаем компьютеру, чтобы он выделил под переменную место в памяти и связал это место определенным именем. Количество места, которое будет выделено в памяти для хранения переменной, зависит от типа этой переменной. Проиллюстрируем эту мысль следующим рисунком.

Листинг 3. Объявление двух переменных

 Переменные в памяти компьютера

Рис.3. Переменные в памяти компьютера.

На рисунке условно изображена память компьютера как набор ячеек, в каждой из которых может что-то храниться. При этом вещественная переменная занимает две ячейки, а целочисленная всего одну. Это соотношение (два к одному) условное. На самом деле, в вашем компьютере переменная вещественного типа может занимать, например, в четыре раза больше места в памяти, чем целочисленная переменная.

Сохрани в закладки или поддержи проект.

Практика

Решите предложенные задачи: Для удобства работы сразу переходите в полноэкранный режим

2.3. Имена переменных

Идентификаторы могут содержать буквы верхнего и нижнего регистров латинского алфавита:

Нельзя в имени использовать русские буквы, специальные символы, знаки препинания, пробелы. Обязательным также является следующее условие: имя не должно начинаться с цифры.

Максимально допустимая длина имени переменной различается в зависимости от реализации языка. Язык ТС различает первые 32 символа имени переменной, хотя длина может быть и большей. Еще одной особенностью является то, что имена переменных, написанные строчными и прописными буквами, определяются компилятором ТС как различные, например идентификаторы:

определяют три различные переменные. При написании программ на языке Си стараются придерживаться следующего правила объявления имен переменных — имя записывается с использованием строчных букв (в отличие от констант, записываемых прописными буквами). Это облегчает чтение и понимание программ. Ниже приведены варианты правильно записанных и неверных именах переменных

number5

Два последних примера неправильных имен показывают, что нельзя в именах использовать ключевые слова языка ( if ) и названия функций (printf ).

Кроме этого, хорошим стилем написания программы считается использование понятных имен переменных. Например, если в программе используется переменная «режим экрана», то можно конечно использовать имя mилиr, но более наглядным будет имяmode_screenилиrejim_ekran. К тому же при объявлении переменных желательно использовать в тексте программы комментарии, раскрывающие назначение введенных переменных.

2.4. Локальные и глобальные переменные. Область видимости переменной

В языке Си имеет очень важное значение имеет место в программе, в котором происходит объявление переменной. Это определяет область существования переменной (эту область называют областью видимости). Программа не будет компилироваться, если не описать все используемые переменные.

Различают локальные и глобальные переменные. Локальные переменные существуют и в теле функции или оператора управления. Локальные переменные на языке Си (но не С++) объявляются в начале блока – после открывающей фигурной скобки. Только после этого можно использовать их имена в выражениях и операторах. Область видимости локальной переменной – до соответствующей закрывающей фигурной скобки.

Глобальные переменные объявляются вне функций и существуют от точки объявления до конца программы. Соответственно, значение глобальной переменной можно использовать во любом месте программы.

int i=1; /* объявление и инициализация глобальной переменной */

float f; /* объявление глобальной переменной */

void fun(void); /* прототип функции пользователя */

int k,n; /* объявление локальных переменных */

float g1; /* объявление локальной переменной */

void fun(void) /* описание функции пользователя */

int j=5; /* объявление локальной переменной */

char ch; /* объявление локальной переменной */

В программе объявлены глобальные и локальные переменные, а также помимо функции main()используется подпрограммаfun(). Глобальные переменныеiиf можно использовать в обеих функциях. Значения локальных переменныхr,nиg1можно использовать только в теле функцииmain(), а переменныхjиch– в теле функцииfun().

Читать:
Разрежьте какой нибудь квадрат на квадратики двух разных размеров

Какие имена правильно написаны на языке си

Для хранения данных в языке программирования Си используются переменные . Переменная может иметь тип, имя и значение.

Перед использованием любую переменную надо определить. Синтаксис определения переменной выглядит следующим образом:

Например, простейшее определение переменной:

Здесь определена переменная number, которая имеет тип int . Поскольку определение переменной представляет собой отдельное выражение, то после него ставится точка с запятой.

Имя переменной может представлять последовательность символов латинского алфавита, чисел и знака подчеркивания. При этом имя должно начинаться либо с алфавитного символа, либо со знака подчеркивания.

Нередко компиляторы имеют ограничение на длину названий переменных, например, для некоторых компиляторов длина имени переменной не должна превышать 31 символа, для других компиляторов ограничение может быть более жестким.

Также стоит учитывать, что C — регистрозависимый язык, а это значит, что регистр символов имеет большое значение. То есть следующем коде будут определяться две разные переменные:

Поэтому переменная Number не будет представлять то же самое, что и переменная number.

Кроме того, в языке есть ряд зарезервированных слов, которые не могут использоваться в качестве имени переменной. Их не так много: auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while .

Также нельзя объявить больше одной переменной с одним и тем же именем, например:

Подобное определение вызовет ошибку на этапе компиляции.

Можно определить сразу несколько переменных:

Здесь определены три переменных: number1, number2 и number3.

Присвоение значения

При определении переменных каждой из них присваивается неопределенное значение. Но в дальнейшем мы можем присвоить ей конкретное значение:

Для вывода числа на консоль используется спецификатор %d, вместо которого вставляется значение переменной number. Таким образом, мы получим следующий консольный вывод:

Однако также можно сразу при определении переменной дать ей некоторое начальное значение. Данный прием называется инициализацией :

Язык С: переменные

Переменная — это не что иное, как именованная область памяти, которой могут манипулировать программы. Каждая переменная в языке C характеризуется:

  • типом, определяющим размер и расположение памяти переменной;
  • диапазоном значений, которые могут храниться в этой памяти;
  • набором операций, которые можно применить к переменной.

Имя переменной может состоять из букв, цифр и символа подчеркивания. Оно должно начинаться либо с буквы, либо с символа подчеркивания. Строчные и заглавные буквы различаются, поскольку C чувствителен к регистру. Выделим основные типы переменных:

  • char — целочисленный тип, представляющий обычно один октет (один восьмибитовый байт);
  • int — наиболее естественный размер целого числа для компьютера;
  • float — значение с плавающей запятой одинарной точности;
  • double — значение с плавающей запятой двойной точности;
  • void — представляет отсутствие типа.

Язык C также позволяет определять другие типы переменных (перечисление, указатель, массив, структура, объединение и т.д.), которые будут рассмотрены в последующих разделах. Здесь уделим внимание только основным типам переменных.

Определение переменных

Определение переменной указывает компилятору, где и какой объем памяти нужно создать для этой переменной. Определение переменных задает тип данных и содержит список одной или нескольких переменных этого типа следующим образом:

Здесь type должен быть допустимым типом данных языка C, включая char , w_char , int , float , double , bool или любой объект, определяемый пользователем; а variable_list может состоять из одного или нескольких имен идентификаторов, разделенных запятыми. Ниже показаны некоторые допустимые объявления:

Строка int i, j, k; объявляет и определяет переменные i , j и k ; которые инструктируют компилятор создать переменные с именами i , j и k типа int .

Переменные могут быть инициализированы (им присваивается начальное значение) в их объявлении. Блок инициализации состоит из знака равенства, за которым следует константное выражение, как показано ниже:

Определение без инициализации: переменные со статической длительностью хранения неявно инициализируются со значением NULL (все байты имеют значение 0 ); начальное значение всех остальных переменных не определено.

Объявление переменных

Объявление переменной подтверждает компилятору, что существует переменная с заданным типом и именем. Получив такое подтверждение, компилятор может приступить к дальнейшей компиляции, не требуя полной информации о переменной. Определение переменной имеет значение только во время компиляции: компилятору необходимо фактическое определение переменной во время сборки программы.

Объявление переменной полезно при использовании нескольких файлов и определении переменной в одном из файлов, который будет доступен во время сборки программы. Можно использовать ключевое слово extern для объявления переменной в любом месте. Хотя в своей программе вы можете объявлять переменную несколько раз, она должна быть определена только один раз в файле, функции или блоке кода.

Пример

Рассмотрим пример, где переменные были объявлены в самом верху, но определены и инициализированы внутри главной функции.

Когда приведенный выше код компилируется и выполняется, выдается следующий результат:

Тот же принцип применим к объявлению функции, когда вы указываете имя функции во время ее объявления, а ее фактическое определение может быть дано в любом другом месте. Например:

L-значения и R-значения

В языке C есть два вида выражений:

  1. L-значения. Выражения, которые ссылаются на область памяти, называются выражениями l-значения. L-значение может появляться как в левой, так и в правой части присваивания.
  2. R-значения. Термин r-значение относится к значению данных, которое хранится по некоторому адресу в памяти. R-значение — это выражение, которому не может быть присвоено значение, что означает, что r-значение может появляться только в правой части присваивания.

Переменные — это l-значения, поэтому они могут появляться в левой части присваивания. Числовые литералы являются r-значениями, поэтому их нельзя присвоить и они не могут появляться в левой части. Посмотрите на следующие допустимые и недопустимые операторы:

Похожие статьи