Пиши Дома Нужные Работы

Обратная связь

Сегмент данных для хранения констант

Директива #define служит для замены часто использующихся констант,

ключевых слов, операторов или выражений некоторыми идентификаторами.

#define имя_макроса последовательность_символов

Функции стандартной библиотеки для работы со строками string.h

char *strcpy(char *dsk, char *src); \\ из src копирует в dsk

int strcmp(char *s1, char *s2); \\ сравнение строк,

char *strcat (char *s1, char *s2); \\ s2 дописывается к s1

сhar * strchr (char *str,char *substr); \\ возвращает указатель на первое вхождение substr в строке str

Функция strchr() возвращает указатель на местонахождение первого совпадения с символом c в строке s ... а если символ не найден, то возвращают NULL.

char *numbers = "01233210";
char *three = strchr(numbers, '3');

int strlen(char *s);-длина строки

char *strtok(char * str, char * delim); \\ разбивает фразу на лексемы

Функция strtok

#include <string.h>

char *strtok(char *str1, const char *str2);

Функция strtok() разбивает строку на лексемы. При каждом вызове возвращает адрес первой лексемы

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

Пример

Эта программа разбивает строку "Травка зеленеет, солнышко блестит" на лексемы, разделителями которых служат пробелы и запятые. В результате получится

Травка|зеленеет|солнышко|блестит

#include <stdio.h>

#include <string.h>

 

int main(void)

{

char *p;

 

p = strtok("Травка зеленеет, солнышко блестит", " ");

printf(p);

do {

p = strtok('\0', ", ");

if(p) printf("|%s", p);

} while(p);

 

return 0;

}

Пример использования массивов указателей

22) Указатели на функции.



Указатели на функции[1] —Функция располагается в памяти по определенному адресу, который можно присвоить указателю в качестве его значения. Адресом функции является ее точка входа. Именно этот адрес используется при вызове функции. Так как указатель хранит адрес функции, то она может быть вызвана с помощью этого указателя. Он позволяет также передавать ее другим функциям в качестве аргумента.

23) Описания в кот. встреч. [],(),* считаются сложными

25) typedef-позволяет задавать новые имена типов. Пример typedef int INT; INT x=5;

Конструкция typedef позволяет задавать новые имена типов.

Tupedef int INT

Т.е теперь типы одинаковы)

Язык C++ вслед за С позволяет писать функции с переменным числом аргументов.
int f(…)
Этот заголовок не вызывает у компилятора ошибок. Такая запись означает, что при определении функции компилятору неизвестны ни количество параметров, ни их типы, и он, естественно, не может ничего проверить. Количество параметров и их типы становятся известными только при вызове функции.

 

Функция sum

Препроцессор

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

· Замена триграфов

??=, ??(, ??) (и других) символами #, [, ]

· Замена комментариев пустыми строками

· Включение файла — #include

· Макроподстановки — #define

· Условная компиляция — #if, #ifdef, #elif, #else, #endif

 

 

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

Макросы - это препроцессорные "функции" , т.е. лексемы, созданные с помощью директивы #define, которые принимают параметры подобно функциям.

 

Например,

#define max(a,b) ((a) > (b) ? (a) : (b))

 

Проблема связанная с макросами

#define SQUARE(x) ((x) * (x))

Считается хорошим стилем окружение в теле макроса скобками любых параметров, а также всего тела макроса, что позволяет избегать проблем, связанных с приоритетностью операторов. В конце концов нам нужно, чтобы запись 7 * SQUARE(2 + 3) разворачивалась в 7 * ((2 + 3) * (2 + З)), а не в 7 * 2 + 3 * 2 + 3.

Сравнение макросов и функций.






ТОП 5 статей:
Экономическая сущность инвестиций - Экономическая сущность инвестиций – долгосрочные вложения экономических ресурсов сроком более 1 года для получения прибыли путем...
Тема: Федеральный закон от 26.07.2006 N 135-ФЗ - На основании изучения ФЗ № 135, дайте максимально короткое определение следующих понятий с указанием статей и пунктов закона...
Сущность, функции и виды управления в телекоммуникациях - Цели достигаются с помощью различных принципов, функций и методов социально-экономического менеджмента...
Схема построения базисных индексов - Индекс (лат. INDEX – указатель, показатель) - относительная величина, показывающая, во сколько раз уровень изучаемого явления...
Тема 11. Международное космическое право - Правовой режим космического пространства и небесных тел. Принципы деятельности государств по исследованию...



©2015- 2024 pdnr.ru Все права принадлежат авторам размещенных материалов.