Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
2 / 2 / 2
Регистрация: 27.02.2016
Сообщений: 243
1

Как правильно создать функцию используя макрос

29.05.2017, 07:23. Показов 539. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет.
Как правильно сделать функцию вида float function(float i){ return (i);} через макрос?
0
29.05.2017, 07:23
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.05.2017, 07:23
Ответы с готовыми решениями:

Как правильно создать строку, используя swprintf?
Дело в том, что мне нужно записать три числа в строку: double, int и double. Числа такие: 1.1414 4 3.4402 (это примеры, сами числа...

Как правильно создать функцию
Здраствуйте! В матлабе я чайник, хотел просто уточнить правильно ли я понимаю начальное условие моего задание, а дальше буду разбираться...

Как правильно создать цикл или функцию
Добрый день! Подскажите пожалуйста, хочу сделать цикл или функцию что бы повторялось i-раз. Но не знаю к чему привязать i. ...

3
 Аватар для anapshy
531 / 272 / 220
Регистрация: 14.11.2016
Сообщений: 1,052
29.05.2017, 09:05 2
C
1
#define     YourFunction(x)     x
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#define    YourFunction(x)    x##Function()
#define    YourFunctionTwo(x)    ThreeFunction(x)
int OneFunction(void)
{
  ...
}
 
void TwoFunction(void)
{
  ...
}
 
float ThreeFunction(int a)
{
  ...
}
 
int main(void)
{
  int abc = 5;
  YourFunction(One); // OneFunction();
  YourFunction(Two); // TwoFunction();
  YourFunctionTwo(abc); // ThreeFunction(abc);
  return 0;
}
0
2 / 2 / 2
Регистрация: 27.02.2016
Сообщений: 243
29.05.2017, 16:31  [ТС] 3
Я не понял. Данная конструкция также вызывает функцию и пишет в стек адрес предыдущей команды (перед вызовом функции)?
0
 Аватар для anapshy
531 / 272 / 220
Регистрация: 14.11.2016
Сообщений: 1,052
29.05.2017, 16:46 4
Alex_Golubev, #define при вызове указанного идентификатора, он замещается указанной строкой (командой).
## означает склейку.
Когда мы пишем идентификатор YourFunction(One); он замещается на OneFunction();
Ферштейн?
0
29.05.2017, 16:46
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.05.2017, 16:46
Помогаю со студенческими работами здесь

Как правильно создать функцию и затем вызвать ее
#include<string> #include <cmath> #include <iostream> #include<locale> using namespace std; int rl1,rl2,rl3,rl4,a,b,c,s; int...

Как правильно создать class (и загрузить в него 1 функцию)?
Допустим у меня есть несколько одинаковых действий, которые может выполнять программа: ...

Как создать функцию ввода элементов массива используя шаблоны?
Извините, по глупому вопросу, но на данный момент я не смог сообразить сам. Как создать функцию ввода элементов массива с помощью...

Как правильно создать несколько потоков, вызывающий одну и ту же функцию?
Пробовал так: ... #include "process.h" ... __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { ...

Как правильно создать шаблон на функцию, которая использует вектор?
есть вот такая шаблонная функция, template <typename T> void rev(const std::vector <T> &v){ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Использование кэша Laravel - полный гайд
bytestream 18.02.2025
Кэширование - один из наиболее эффективных способов повышения производительности веб-приложений. В современном мире, где скорость загрузки страниц напрямую влияет на удержание пользователей и. . .
Создаем REST API в Laravel с аутентификацией через Passport
bytestream 18.02.2025
Разработка современных веб-приложений все чаще требует создания надежного и хорошо структурированного API. REST API стал стандартом де-факто для построения взаимодействия между клиентской и серверной. . .
Пайплайны в Laravel - полный гайд
bytestream 18.02.2025
Разработка современных веб-приложений часто требует обработки сложных процессов, состоящих из множества последовательных шагов. Например, при создании системы комментариев может потребоваться. . .
Как правильно использовать @required в Symfony
bytestream 18.02.2025
При разработке приложений на Symfony мы часто сталкиваемся с необходимостью внедрения зависимостей. Фреймворк предоставляет несколько способов управления этим процессом, и одним из таких инструментов. . .
Система безопасности в Laravel: возможности и примеры
Wired 18.02.2025
Каждый день появляются новые виды атак и уязвимостей, которые могут поставить под угрозу конфиденциальные данные пользователей и функционирование всей системы. В этом контексте выбор надежного. . .
Давайте сравним Django и Laravel
Wired 18.02.2025
Django и Laravel - два мощных инструмента, которые часто сравнивают между собой. Оба фреймворка предлагают разработчикам богатый набор возможностей для создания масштабируемых веб-приложений, но. . .
Laravel или React - что лучше?
Wired 18.02.2025
В разработке веб выбор правильного инструмента часто определяет успех всего проекта. Особенно интересным представляется сравнение Laravel и React - двух популярных технологий, которые часто. . .
Laravel 11: новые возможности, гайд по обновлению
Wired 18.02.2025
Laravel 11 - это новая масштабная версия одного из самых популярных PHP-фреймворков, выпущенная в марте 2024 года. Эта версия продолжает традицию внедрения передовых технологий и методологий. . .
Миграции в Laravel
Wired 18.02.2025
Разработка веб-приложений на Laravel неразрывно связана с управлением структурой базы данных. При работе над проектом часто возникает необходимость вносить изменения в схему базы данных - добавлять. . .
Аутентификация в Laravel
Wired 18.02.2025
В современном мире веб-разработки безопасность пользовательских данных становится критически важным аспектом любого приложения. Laravel, как один из самых популярных PHP-фреймворков, предоставляет. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru