Начало работы с Си
Что такое С :
- В 1972 году великий ученый-компьютерщик Деннис Ритчи создал новый язык программирования под названием C в лабораториях Белла .
- Он был создан из языков программирования ALGOL , BCL и B.
- Он содержит все функции этих языков и множество других дополнительных концепций, которые делают его уникальным по сравнению с другими языками программирования.
- Это мощный язык программирования, тесно связанный с операционной системой UNIX, и большинство операционных систем UNIX написаны на языке C.
- Первоначально он был ограничен операционной системой UNIX, но по мере того, как он начал распространяться по всему миру, он стал коммерческим, и многие компиляторы были выпущены для кросс-платформенных систем.
- Сегодня C работает под множеством операционных систем и аппаратных платформ.
- Когда он начал развиваться, было выпущено множество версий языка.
- Время от времени разработчикам становилось трудно идти в ногу с последней версией, поскольку системы работали под более старыми версиями.
- Чтобы гарантировать, что язык C останется стандартным, Американский национальный институт стандартов (ANSI) определил коммерческий стандарт для языка C в 1989 году .
- Позже он был одобрен Международной организацией по стандартизации (ISO) в 1990 году. Язык программирования C также называется ANSI C.
Приложения C :
- Он широко используется для разработки настольных приложений, а также для разработки браузеров и их расширений.
- Google Chromium построен на языке программирования C.
- Он широко используется во встроенных системах.
- Он используется для разработки баз данных. MySQL — самая популярная программа для работы с базами данных, созданная на языке C.
- Он используется при разработке операционных систем, таких как Apple OS X , Microsoft Windows и Symbian , которые разрабатываются с использованием языка C.
- Он используется для разработки настольных компьютеров, а также операционной системы мобильного телефона.
- Он используется для производства компиляторов.
- Он широко используется в приложениях IoT.
Особенности С :
- C — это структурированный язык программирования, в котором программа разделена на различные модули.
- C — процедурно-ориентированный язык программирования.
- C — это язык среднего уровня.
- Каждый модуль может быть написан отдельно, а вместе он образует единую программу на языке C. Эта структура упрощает тестирование, обслуживание и отладку процессов.
- C содержит 32 ключевых слова , различные типы данных и набор мощных встроенных функций, которые делают программирование очень эффективным.
- Программа на C содержит различные функции, являющиеся частью библиотеки. Программист может добавлять в библиотеку свои собственные возможности и функции.
- Эти функции доступны и используются в любое время в программе. Эта функция упрощает работу со сложным программированием.
- Это популярный выбор для приложений системного уровня.
Работа C:
- C является компилируемым языком.
- Компилятор — это специальный инструмент, который компилирует программу и преобразует ее в объектный файл, который может быть прочитан машиной.
- После процесса компиляции компоновщик объединит различные объектные файлы и создаст один исполняемый файл для запуска программы.
- На следующей диаграмме показано выполнение программы на языке C:
В настоящее время различные компиляторы доступны в Интернете. Функциональность никогда не будет отличаться, и большинство компиляторов будут предоставлять функции, необходимые для выполнения программ как на C, так и на C++. Ниже приводится название таких компиляторов:
- Clang-компилятор
- Компилятор MinGW (минималистский GNU для Windows)
- Портативный компилятор C
- Турбо С
Программа 1:
Ниже приведена программа на C для печати Hello World:
C
// C program printing Hello World // Pre-processor directive #include <stdio.h> // Driver Code void main() { // Print on the screen printf ( "Hello World" ); // Terminating function getch(); } |
Выход
Объяснение:
- директива препроцессора
- #include — это директива препроцессора в C.
- #include , stdio — это библиотека, в которой определена функция printf().
- Он используется для генерации вывода. Прежде чем использовать эту функцию, сначала включите требуемый файл, также известный как файл заголовка (.h).
- Основная функция: основная функция является частью каждой программы на C. Он может быть представлен в различных формах, таких как:
- главный()
- основной ()
- пустая функция()
- основной (пустой)
- недействительный основной (пустой)
- интервал основной (пустой)
- Пустые круглые скобки означают, что эта функция не принимает никаких аргументов, значений или параметров.
- Ключевое слово void означает, что функция не возвращает никакого значения, в этом случае последним оператором всегда будет getch().
Программа 2:
Ниже показана программа на C, печатающая «Hello World»:
Объяснение:
- В приведенном выше примере ключевое слово int означает, что функция вернет целочисленное значение. В этом случае последний оператор всегда должен возвращать 0.
- В исходном коде после объявления функции main укажите открывающую и закрывающую круглые скобки. Фигурные скобки {} обозначают начало и конец программы.
- Эти скобки всегда должны ставиться после основной функции.
- Внутри этих скобок пишется весь программный код, например, декларативная и исполняемая части.
- Функция printf генерирует вывод, и на консоли отображается «Hello World».
- точка с запятой; определяет конец предложения. В C каждый оператор должен заканчиваться точкой с запятой.
Шаги для запуска программы C в CodeBlocks:
- Создайте новый проект, как показано ниже:
- Во всплывающем окне сначала выберите файл, затем выберите «Источник C/C++» и нажмите «Перейти», как показано ниже:
- Продолжить, нажав «Далее».
- Чтобы создать новый файл, выберите файл «C» , затем нажмите кнопку «Далее» , чтобы продолжить.
- Задайте путь к файлу, нажав кнопку «…», окно проводника разрешает создание файла C.
- Выберите путь к вашему новому файлу C, затем его имя с расширением .c и сохраните его.
- Наконец, чтобы подтвердить создание файла C, нажмите «Готово».
- Введите код, сохраните его и скомпилируйте, нажав кнопку «Build & Run».
Комментарии и их типы в программе на C:
Комментарий: Комментарий — это пояснение или описание исходного кода программы. Это помогает разработчику объяснить логику кода и улучшает читаемость программы. Во время выполнения комментарий игнорируется компилятором.
Типы комментариев:
- Однострочный комментарий: однострочные комментарии, в которых используется двойная косая черта, // предназначенная для отдельных строк комментария.
- Многострочный комментарий: комментарий, начинающийся с косой черты /* и заканчивающийся косой чертой */, который можно разместить в любом месте вашего кода, на одной или нескольких строках.
Программа 1:
Ниже приведена программа на C, иллюстрирующая использование однострочного комментария:
Программа 2:
Ниже приведена программа на C, иллюстрирующая использование многострочного комментария:
Нужны комментарии:
- Хороший программист, который пишет коды, понятные человеку, лучше программиста, который генерирует коды, понятные только машине.
- Поэтому настоятельно рекомендуется вставлять комментарии в код, потому что это хорошая практика программирования.
- Комментарии не влияют на программу, поскольку компилятор их игнорирует.
- Комментарии помогают разработчику понять логику/алгоритм кода, если он возвращается к нему спустя долгое время.
Набор символов:
- Как и любой другой язык, 'C' также имеет свой собственный набор символов.
- Программа — это набор инструкций, которые при выполнении генерируют выходные данные.
- Данные, которые обрабатывает программа, состоят из различных символов и символов.
- Сгенерированный вывод также представляет собой комбинацию символов и символов.
Компилятор всегда игнорирует использование символов, но широко используется для форматирования данных. Ниже приведен набор символов в программировании на языке C. Набор символов в C делится на следующие типы:
Компилятор всегда игнорирует использование символов, но широко используется для форматирования данных. Ниже приведен набор символов в программировании на языке C:
- Буквы: все строчные и прописные буквы от A до Z.
- Числа: все цифры от 0 до 9.
- Пробелы: например, пустое пространство, новая строка, возврат каретки и вкладка «Горизонтальная».
- Специальные символы
Токен :
- Токен — это наименьшая единица в программе на языке C.
- Это каждое слово и пунктуация, с которыми вы сталкиваетесь в программе на C.
- Компилятор разбивает программу на наименьшие возможные единицы (токены) и переходит к различным этапам компиляции.
- Токен делится на шесть различных типов, а именно: ключевые слова, операторы, строки, константы, специальные символы и идентификаторы.
Ключевые слова и идентификаторы :
В 'C' каждое слово может быть либо ключевым словом, либо идентификатором.
- Ключевые слова имеют фиксированное значение, и значение не может быть изменено. Они действуют как строительный блок программы 'C'. Всего в «C» 32 ключевых слова. Ключевые слова пишутся строчными буквами.
- Идентификатор — это не что иное, как имя, присвоенное элементу в программе.
- Пример: имя переменной, функции и т. д.
- Идентификаторы — это определяемые пользователем имена, состоящие из стандартного набора символов «C».
- Как следует из названия, идентификаторы используются для идентификации определенного элемента в программе.
- Каждый идентификатор должен иметь уникальное имя.
- Для идентификаторов необходимо соблюдать следующие правила:
- Первым символом всегда должен быть алфавит или знак подчеркивания.
- Он должен быть сформирован с использованием только букв, цифр или подчеркивания.
- Ключевое слово не может использоваться в качестве идентификатора.
- Он не должен содержать никаких пробелов.
- Имя должно быть осмысленным.
Резюме:
- Маркер — это наименьшая единица в программе.
- Ключевое слово зарезервировано для языка.
- Всего 32 ключевых слова.
- Идентификатор используется для идентификации элементов программы.
Переменные:
- Переменная — это идентификатор, который используется для хранения некоторого значения.
- Константы никогда не могут изменяться во время выполнения.
- Переменные могут изменяться во время выполнения программы и обновлять хранящееся в ней значение.
- Одна переменная может использоваться в нескольких местах программы.
- Имя переменной должно быть осмысленным.
- Он должен представлять цель переменной.
- Пример: рост, возраст — это значимые переменные, которые представляют цель, для которой он используется.
- Переменная высоты может использоваться для хранения значения высоты.
- Переменная age может использоваться для хранения возраста человека.
- Переменная должна быть сначала объявлена, прежде чем она будет использоваться где-то внутри программы.
- Имя переменной формируется с использованием символов, цифр и символа подчеркивания.
Ниже приведены правила, которые необходимо соблюдать при создании переменной:
- Имя переменной должно состоять только из символов, цифр и знака подчеркивания.
- Имя переменной не должно начинаться с цифры.
- Имя переменной не должно состоять из пробелов.
- Имя переменной не должно состоять из ключевого слова.
- «C» — это язык, чувствительный к регистру, что означает, что переменные с именами «возраст» и «возраст» различны.
Типы данных : «C» предоставляет различные типы данных, чтобы программист мог легко выбрать подходящий тип данных в соответствии с требованиями приложения. Ниже приведены три типа данных:
- Примитивные типы данных
- Производные типы данных
- Пользовательские типы данных
Ниже приведены пять основных типов фундаментальных данных:
- int для целочисленных данных
- char для символьных данных
- float для чисел с плавающей запятой
- double для чисел с плавающей запятой двойной точности
- пустота
Производные типы данных:
- Массив, функции, указатели, структуры являются производными типами данных.
- Язык C предоставляет более расширенные версии вышеупомянутых первичных типов данных.
- Каждый тип данных отличается друг от друга по размеру и диапазону.
- В следующей таблице показаны размер и диапазон каждого типа данных:
Типы данных | Размер | Диапазон |
char или подписанный char | 1 | от -128 до 127 |
беззнаковый символ | 1 | 0 т0 255 |
int или подписанный int | 2 | от -32768 до 32767 |
беззнаковое целое | 2 | от 0 до 65535 |
короткое целое или короткое целое без знака | 2 | от 0 до 255 |
подписанный короткий инт | 2 | от -128 до 127 |
long int или Signed long int | 4 | -2147483648 до 2147483647 |
беззнаковое длинное целое | 4 | от 0 до 4294967295 |
плавать | 4 | 3.4E-38 до 3.4E+38 |
Условное заявление:
- Условные операторы в программировании на C используются для принятия решений на основе условий.
- Он выполняется последовательно, когда вокруг операторов нет условий.
- Если задать некоторые условия для блока операторов, поток выполнения может измениться в зависимости от результата, оцениваемого условием. Этот процесс называется принятием решения в «C».
- В программировании на языке C условные операторы возможны с помощью следующих двух конструкций:
- Если заявление
- Оператор if-else
- Это также называется ветвлением, поскольку программа решает, какой оператор выполнить, основываясь на результате оцениваемого условия.
Типы условного оператора:
- Если заявление
- Реляционные операторы
- Оператор «если-иначе»
- Условные выражения
- Вложенные операторы if-else
- Вложенные операторы Else-if
Если заявление:
- Это один из мощных условных операторов.
- Оператор if отвечает за изменение потока выполнения программы.
- Он всегда используется с условием.
- Условие оценивается первым перед выполнением любого оператора внутри тела if.
Syntax:
if(condition)
{
instruction;
}
- Условие оценивается как истинное или ложное.
- True всегда является ненулевым значением, а false — значением, содержащим ноль.
- Инструкции могут быть отдельной инструкцией или блоком кода, заключенным в фигурные скобки {}.
Ниже приведена программа на C, иллюстрирующая использование оператора if:
Объяснение:
- В приведенной выше программе две переменные инициализируются с помощью num1 , num2 со значениями 1 , 2 соответственно.
- Затем использовал оператор if с тестовым выражением, чтобы проверить, какое число является наименьшим, а какое — наибольшим.
- Реляционное выражение было использовано в if построено. Поскольку значение num1 меньше, чем num2 , условие будет оцениваться как true .
- Таким образом, он напечатает оператор внутри блока If.
- После этого управление выйдет за пределы блока и программа завершится с успешным результатом.
Реляционные операторы: C имеет шесть реляционных операторов, которые можно использовать для формулирования логического выражения для принятия решения и проверки условий, которое возвращает true или false, ниже приведены некоторые из них:
- < меньше чем
- <= меньше или равно
- > больше, чем
- >= больше или равно
- == равно
- != Не равно
Ниже приведена программа на C, иллюстрирующая использование оператора отношения:
Оператор If-Else : это расширенная версия оператора If. Ниже приведена блок-схема, представляющая оператор if-else :
Syntax:
if (test – expression)
{
True block of statement;
}
else
{
False block of statements;
} Statements;
- В этом типе операторов, если значение test-expression истинно, будет выполнен истинный блок операторов.
- Если значение test-expression равно false, то будет выполнен блок операторов false.
- В любом случае, после выполнения управление будет автоматически передано операторам, находящимся вне блока If.
Ниже приведена программа на C, демонстрирующая оператор if-else:
Условные выражения . Есть еще один способ выразить оператор if-else — ввести оператор ?: . В условном выражении оператор ?: имеет только один оператор, связанный с операторами if и else.
Ниже приведена программа на C, демонстрирующая условный оператор:
Вложенные операторы if-else:
- Когда требуется ряд решений, используется вложенный if-else.
- Вложенность означает использование одной конструкции if-else внутри другой.
Ниже приведена программа на C, демонстрирующая использование вложенных операторов if-else:
- Вложенный else-if используется, когда требуются многопутевые решения.
Ниже приведена программа на C, иллюстрирующая использование вложенных операторов if-else для решения о многопутевости:
Петли:
- Цикл выполняет последовательность операторов много раз, пока указанное условие не станет ложным.
- Цикл состоит из двух частей: тела цикла и оператора управления.
- Оператор управления представляет собой комбинацию некоторых условий, которые предписывают телу цикла выполняться до тех пор, пока указанное условие не станет ложным.
- Цель цикла — многократное повторение одного и того же кода.
- В основном существует 3 типа петель, они следующие:
- Пока цикл
- Цикл Do-While
- Для цикла
Заявление о переключении:
- Оператор switch в C проверяет значение переменной и сравнивает его с несколькими случаями.
- После того, как найдено совпадение с прецедентом, выполняется блок операторов, связанных с этим конкретным случаем.
- Каждый случай в блоке переключателя имеет другое имя/номер, который называется идентификатором.
- Значение, предоставленное пользователем, сравнивается со всеми случаями внутри блока переключателей, пока не будет найдено совпадение.
Нить:
- Строка в C — это не что иное, как набор символов в линейной последовательности.
- 'C' всегда обрабатывает строку как одиночные данные, даже если она содержит пробелы.
- Один символ определяется с помощью представления одинарной кавычки.
- Строка представляется с помощью двойных кавычек.
Класс хранения:
- Класс хранения представляет видимость и расположение переменной.
- Он сообщает, из какой части кода мы можем получить доступ к переменной.
- Класс хранения в C используется для описания следующих вещей:
- Область действия переменной.
- Место, где будет храниться переменная.
- Инициализированное значение переменной.
- Время жизни переменной.
- Кто может получить доступ к переменной?
- Таким образом, класс хранения используется для представления информации о переменной.
ПРИМЕЧАНИЕ. Переменная связана не только с типом данных, ее значением, но и с классом хранения.
Управление файлами: файл можно использовать для хранения большого объема постоянных данных.
Как и многие другие языки, C предоставляет следующие функции управления файлами:
- Создание файла
- Открытие файла
- Чтение файла
- Запись в файл
- Закрытие файла
Процесс создания файла:
- Всякий раз, когда вы работаете с файлом, первым шагом является создание файла.
- Файл — это не что иное, как пространство в памяти, где хранятся данные.
- Для создания файла в программе на языке C используется следующий синтаксис:
ФАЙЛ *fp;
|
- В приведенном выше синтаксисе файл представляет собой структуру данных, определенную в стандартной библиотеке.
- Fopen — это стандартная функция, которая используется для открытия файла.
- Если файл отсутствует в системе, то он создается, а затем открывается.
- Если файл уже присутствует в системе, то он напрямую открывается с помощью этой функции.
- fp — указатель файла, указывающий на тип файла.
- Всякий раз, когда вы открываете или создаете файл, укажите операции, которые будут выполняться с файлом.
- Файл в программировании на языке C может быть создан или открыт для чтения/записи.
- Режим используется, чтобы указать, хотите ли вы открыть файл для какой-либо из указанных ниже целей.
Ниже приведены различные типы режимов программирования на языке C, которые можно использовать при работе с файлом:
Описание режима файла :
- r: открыть файл для чтения. Если файл находится в режиме чтения, то никакие данные не удаляются, если файл уже присутствует в системе.
- w: открыть файл для записи. Если файл находится в режиме записи, то создается новый файл, если файл вообще не существует. Если файл уже присутствует в системе, то все данные внутри файла усекаются, и он открывается для записи.
- a: Откройте файл в режиме добавления. Если файл находится в режиме добавления, то файл открывается. Содержимое файла не меняется.
- r+: Открыт для чтения и записи с самого начала.
- w+: Открыть для чтения и записи, перезаписывая файл.
- a+: Открыть для чтения и записи, добавить в файл.
В данном синтаксисе имя файла и режим указываются как строки, поэтому они всегда должны быть заключены в двойные кавычки.
Ниже приведен фрагмент кода C, показывающий использование файлового режима:
Выход:
Ниже приведен фрагмент кода C, показывающий путь, по которому пользователь хочет создать файл:
Выход:
Закрыть файл :
- Всегда следует закрывать файл всякий раз, когда операции над файлом завершены.
- Это означает, что содержимое и ссылки на файл удалены.
- Это предотвращает случайное повреждение файла.
- «C» предоставляет функцию fclose для выполнения операции закрытия файла.
- Синтаксис fclose следующий:
Syntax: fclose (file_pointer);
Example: FILE *fp;
fp = fopen (“data.txt”, “r”);
fclose (fp);
- Функция fclose принимает в качестве аргумента указатель файла.
- Затем файл, связанный с указателем файла, закрывается с помощью функции fclose.
- Он возвращает 0, если закрытие прошло успешно, и EOF (конец файла), если при закрытии файла произошла ошибка.
Запись в файл:
- В C при записи в файл символы новой строки ' ' должны добавляться явно.
- Библиотека stdio предлагает необходимые функции для записи в файл:
- fputc(char, file_pointer): записывает символ в файл, на который указывает file_pointer.
- fputs(str, file_pointer): записывает строку в файл, на который указывает file_pointer.
- fprintf(file_pointer, str, variable_lists): печатает строку в файл, на который указывает file_pointer. Строка может дополнительно включать спецификаторы формата и список переменных variable_lists.
Ниже приведена программа на C, иллюстрирующая использование fputc():
C
// C program illustrating the use of // fputc() #include <stdio.h> // Function to illustrate the use of // fputc() void fputc_func() { int i; FILE * fptr; char fn[50]; char str[] = "Hi my name is madhu
" ; // "w" defines "writing mode" fptr = fopen ( "fputc_test.txt" , "w" ); for (i = 0; str[i] != "
" ; i++) { // Write to file using the // fputc() function fputc (str[i], fptr); } fclose (fptr); } // Driver Code int main() { // Function Call fputc_func(); return 0; } |
Выход:
Функция:
- Функция в программировании на C — это многократно используемый блок кода, который упрощает понимание и тестирование программы, а также позволяет легко модифицировать ее без изменения вызывающей программы.
- Функции разделяют код и модулируют программу для получения лучших и эффективных результатов.
- Короче говоря, большая программа делится на различные подпрограммы, которые называются функциями.
Указатели :
- Указатель в C — это переменная, которая хранит адрес другой переменной.
- Указатель также может использоваться для ссылки на другую функцию указателя.
- Указатель может увеличиваться/уменьшаться, т.е. указывать на следующую/предыдущую ячейку памяти.
- Цель указателя — сэкономить место в памяти и ускорить время выполнения.
Использование указателей: если объявить переменную v типа int, v фактически сохранит значение.
Declaration: int v = 0;
Where v is equal to zero now.
- Однако каждая переменная, кроме значения, имеет еще и свой адрес (или, проще говоря, место ее расположения в памяти).
- Адрес можно получить, поставив амперсанд ( & ) перед именем переменной.
- Если вывести на экран адрес переменной, то он будет выглядеть как совершенно случайное число (причем от запуска к запуску оно может быть разным).
Объявление указателя:
- Подобно переменным, указатели в программировании на C должны быть объявлены до того, как их можно будет использовать в программе.
- Указатели могут называться как угодно, если они подчиняются правилам именования C.
- Объявление указателя имеет следующую форму:
Declaration: data_type * pointer_variable_name;
Инициализировать указатель:
- После объявления указателя инициализируйте его как стандартные переменные с адресом переменной.
- Если указатели в программировании на C не инициализированы и не используются в программе, результаты будут непредсказуемыми и потенциально катастрофическими.
- Чтобы получить адрес переменной, используйте оператор амперсанда (&), который ставится перед именем переменной, адрес которой необходим.
- Инициализация указателя выполняется с использованием следующего синтаксиса:
Syntax: pointer = &variable;
Ниже приведена программа на C, иллюстрирующая реализацию указателя
Программа 1:
Программа 2:
Преимущества указателей:
- Указатели полезны для доступа к ячейкам памяти.
- Указатели обеспечивают эффективный способ доступа к элементам структуры массива.
- Указатели используются для динамического выделения памяти, а также для ее освобождения.
- Указатели используются для формирования сложных структур данных, таких как связанный список, граф, дерево и т. д.
Недостатки указателей:
- Указатели немного сложны для понимания.
- Указатели могут привести к различным ошибкам, таким как ошибки сегментации, или могут получить доступ к ячейке памяти, которая вообще не требуется.
- Если указателю предоставляется неправильное значение, это может привести к повреждению памяти.
- Указатели также ответственны за утечку памяти.
- Указатели сравнительно медленнее, чем переменные.
- Программистам очень сложно работать с указателями; поэтому ответственность за осторожное обращение с указателем лежит на программисте.
Побитовые операторы:
- Побитовые операторы используются для управления данными на уровне битов, что также называется программированием на уровне битов.
- Побитовое оперирует одним или несколькими битовыми шаблонами или двоичными числами на уровне их отдельных битов.
- Они используются в численных расчетах, чтобы ускорить процесс вычислений.
Побитовое И:
- Это один из наиболее часто используемых логических побитовых операторов.
- Он представлен одним знаком амперсанда (&).
- С каждой стороны оператора (&) записываются два целочисленных выражения.
- Результат побитовой операции И равен 1, если оба бита имеют значение 1; в противном случае результат всегда равен 0.
Побитовое ИЛИ:
- Он представлен одной вертикальной чертой (|).
- С каждой стороны оператора (|) записываются два целочисленных выражения.
- Результат побитовой операции ИЛИ равен 1, если хотя бы одно из выражений имеет значение 1; в противном случае результат всегда равен 0.
Побитовое исключающее ИЛИ:
- Он представлен символом (^).
- С каждой стороны оператора (^) записываются два целочисленных выражения.
- Результат побитовой операции исключающее ИЛИ равен 1, если только одно из выражений имеет значение 1. В противном случае результат всегда равен 0.
Операторы побитового сдвига:
- Операторы побитового сдвига используются для перемещения/сдвига битовых комбинаций влево или вправо. Влево и вправо — это два оператора сдвига, предоставляемые «C», которые представлены следующим образом:
- Операнд << n (сдвиг влево)
- Операнд >> n (правый сдвиг)
Побитовый оператор комплимента:
- Побитовое дополнение также называется оператором дополнения, поскольку оно всегда принимает только одно значение или операнд.
- Это унарный оператор.
- При выполнении дополнения к любым битам все единицы становятся нулями и наоборот.
- Если целочисленное выражение содержит 0000 1111 , то после выполнения операции побитового дополнения значение станет равным 1111 0000 .
- Оператор побитового дополнения обозначается символом тильды (~) .
Ниже приведена программа на C, иллюстрирующая побитовый оператор:
Работа управления памятью:
- При объявлении переменной с использованием базового типа данных компилятор C автоматически выделяет пространство памяти для переменной в пуле памяти, называемом стеком.
- Например, переменная с плавающей запятой обычно занимает 4 байта (в зависимости от платформы) при ее объявлении.
- Эту информацию можно проверить с помощью оператора sizeof .
Динамическое выделение памяти:
- Динамическое выделение памяти — это ручное выделение и освобождение памяти в соответствии с вашими программными пот