Форум программистов, компьютерный форум CyberForum.ru

Для чего нужен define? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа со строками. Связное хранение строк. http://www.cyberforum.ru/cpp-beginners/thread43045.html
Постановка задачи В текстовом файле хранится последовательность слов. Предполагается, что слово содержит не более 20 букв, слова отделяются друг от друга одним или бо-лее пробелами, количество слов в файле не ограничено. Требуется: 1. Прочитать исходный текст из файла и поместить его в памяти, использовать однонаправленные циклические цепочки . Каждое звено текста размещается в памяти...
C++ Нужно исправить 2 ошибки в коде собственно, САБЖ. нужно исправить 2 ошибки в коде, чтобы его можна было скомпилить и сделать из него ехе-шник. код немалый, тому залил на sendspace: http://sendspace.com/file/ubkkh6 времени немного - до утра понедельника..выручайте, народ, пожалуйста http://www.cyberforum.ru/cpp-beginners/thread43015.html
Вывод случайных текстов на экран C++
помогите пожалуйста, мне нужен код для случайных выводов текстов на экран
C++ обход массива рендом.
Дан массив 10 на 10. Рендом выбираем точку, сравниваем элемент... Затем нужно опять выбирать рендом элемент, но так что бы не выбирать тот, который уже брали. Как можно запомнить, что выбирали уже, а что нет?
C++ Программа производит неправильный вывод http://www.cyberforum.ru/cpp-beginners/thread42956.html
Помогите найти ошибку!!! Заранее спасибо!!! #include <iostream.h> main (void) { int a = 1; void f() { int b = 1;
C++ Никак не могу найти ошибку #include<iostream.h> #include<conio.h> #include<math.h> #include<STDLIB.H> #include<COMPLEX.H> main() { const m=7, n=7; m5: int A,i,j,F; clrscr(); подробнее

Показать сообщение отдельно
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16825 / 5246 / 321
Регистрация: 30.03.2009
Сообщений: 14,128
Записей в блоге: 26
17.07.2009, 20:01     Для чего нужен define?
Тут в соседней теме возник вопрос, зачем нужно *.h файлы использовать, а потому вкратце добавлю то, как работает директива #include

#include ничего умного не делает, она целиком подставляет файл, который передан параметром директиве. Т.е. если мы имеем исходники

C
1
2
3
4
5
6
/* Файл t1.c */
#include "t.h"
int main (void)
{
  return func (1);
}
C
1
2
3
4
5
6
7
/* Файл t2.c */
#include "t.h"
int
func (int x)
{
  return x;
}
C
1
2
/* Файл t.h */
extern int func (int);
То после препроцессирования файла t1.c получим код:

C
1
2
3
4
5
6
 <--- комментарии удаляются на этапе препроцессирования
extern int func (int); <--- сюда подставилось содержимое файла t.h
int main (void)
{
  return func (1);
}
а после препроцессирования t2.c вот такой:

C
1
2
3
4
5
6
extern int func (int);
int
func (int x)
{
  return x;
}
Таким образом, описав что-то в *.h файле, это что-то попадает на трансляцию всех модулей, обеспечиывая "одинаковость". То, что файл имеет расширение *.h - это условность. Инклюдить можно всё, что угодно
 
Текущее время: 01:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru