About: Forward declaration     Goto   Sponge   NotDistinct   Permalink

An Entity of Type : yago:WikicatProgrammingConstructs, within Data Space : dbpedia.demo.openlinksw.com associated with source document(s)
QRcode icon
http://dbpedia.demo.openlinksw.com/describe/?url=http%3A%2F%2Fdbpedia.org%2Fresource%2FForward_declaration&invfp=IFP_OFF&sas=SAME_AS_OFF

In computer programming, a forward declaration is a declaration of an identifier (denoting an entity such as a type, a variable, a constant, or a function) for which the programmer has not yet given a complete definition. It is required for a compiler to know certain properties of an identifier (size for memory allocation, data type for type checking, such as type signature of functions), but not other details, like the particular value it holds (in case of variables or constants) or definition (in the case of functions). This is particularly useful for one-pass compilers and .

AttributesValues
rdf:type
rdfs:label
  • Forward declaration (en)
  • Déclaration avancée (fr)
  • 前方宣言 (ja)
  • Предварительное объявление (ru)
  • 前向声明 (zh)
  • Попереднє оголошення (uk)
rdfs:comment
  • En programmation informatique, une déclaration avancée est une déclaration d'un identificateur représentant une entité (par exemple un type, une variable, une fonction) pour laquelle la définition n'est fournie qu'ultérieurement dans le code. (fr)
  • プログラミングにおいて、前方宣言(ぜんぽうせんげん、英: forward declaration)とはプログラマが完全な定義を与えていないプログラム要素を表すシンボルの事前宣言のことである。変数、関数、型などに対するシンボルが含まれる。 (ja)
  • 在程序设计中,前向声明(Forward Declaration)是指提前声明,但还没有给出完整的定义的标识符(表示编程的实体,如数据类型、变量、函数)。 (zh)
  • In computer programming, a forward declaration is a declaration of an identifier (denoting an entity such as a type, a variable, a constant, or a function) for which the programmer has not yet given a complete definition. It is required for a compiler to know certain properties of an identifier (size for memory allocation, data type for type checking, such as type signature of functions), but not other details, like the particular value it holds (in case of variables or constants) or definition (in the case of functions). This is particularly useful for one-pass compilers and . (en)
  • Предварительное объявление является таким типом объявления, при котором сборщик(компилятор) имеет возможность разрешить ссылки из различных частей программы. Предварительное объявление позволяет программисту ссылаться на объекты, о которых компилятор ещё не знает, но которые будут определены в процессе компиляции позже. void printThisInteger(int); void printThisInteger(int x) { printf("%d ", x);} int foo; //foo могло быть определено где-то в этом файлеextern int bar; //bar должно быть определено в другом файле (ru)
  • У програмуванні попереднє оголошення — це оголошення ідентифікатора (типу, змінної або функції), для якого програміст ще не дав повного визначення. Оголошення ідентифікатора потрібне компілятору для того, щоб знати тип (розмір) ідентифікатора, але не його значення (у випадку змінних). Попереднє оголошення є таким типом оголошення, завдяки якому складальник (компілятор) має можливість розв'язати посилання з різних частин програми. Попереднє оголошення дозволяє програмісту посилатися на об'єкти, про яких компілятор ще не знає, але які будуть визначені в процесі компіляції пізніше. (uk)
dcterms:subject
Wikipage page ID
Wikipage revision ID
Link from a Wikipage to another Wikipage
sameAs
dbp:wikiPageUsesTemplate
has abstract
  • In computer programming, a forward declaration is a declaration of an identifier (denoting an entity such as a type, a variable, a constant, or a function) for which the programmer has not yet given a complete definition. It is required for a compiler to know certain properties of an identifier (size for memory allocation, data type for type checking, such as type signature of functions), but not other details, like the particular value it holds (in case of variables or constants) or definition (in the case of functions). This is particularly useful for one-pass compilers and . Forward declaration is used in languages that require declaration before use; it is necessary for mutual recursion in such languages, as it is impossible to define such functions (or data structures) without a forward reference in one definition: one of the functions (respectively, data structures) must be defined first. It is also useful to allow flexible code organization, for example if one wishes to place the main body at the top, and called functions below it. In other languages forward declarations are not necessary, which generally requires instead a multi-pass compiler and for some compilation to be deferred to link time. In these cases identifiers must be defined (variables initialized, functions defined) before they are used in execution, but do not need to be defined before they are used in source code for compilation or interpretation: identifiers do not need to be immediately resolved to an existing entity. (en)
  • En programmation informatique, une déclaration avancée est une déclaration d'un identificateur représentant une entité (par exemple un type, une variable, une fonction) pour laquelle la définition n'est fournie qu'ultérieurement dans le code. (fr)
  • プログラミングにおいて、前方宣言(ぜんぽうせんげん、英: forward declaration)とはプログラマが完全な定義を与えていないプログラム要素を表すシンボルの事前宣言のことである。変数、関数、型などに対するシンボルが含まれる。 (ja)
  • У програмуванні попереднє оголошення — це оголошення ідентифікатора (типу, змінної або функції), для якого програміст ще не дав повного визначення. Оголошення ідентифікатора потрібне компілятору для того, щоб знати тип (розмір) ідентифікатора, але не його значення (у випадку змінних). Попереднє оголошення є таким типом оголошення, завдяки якому складальник (компілятор) має можливість розв'язати посилання з різних частин програми. Попереднє оголошення дозволяє програмісту посилатися на об'єкти, про яких компілятор ще не знає, але які будуть визначені в процесі компіляції пізніше. void printThisInteger(int); В C/C++, наведений рядок означає попереднє оголошення функції і є її прототипом. Після обробки цього оголошення, компілятор дає можливість програмісту посилатися на сутність printThisInteger у решті частини програми. Визначення функції має бути описане десь ще (в тому ж або іншому файлі; завдання компонувальника — зіставити посилання на цю функцію в одному або декількох об'єктних файлах з її єдиним визначенням в іншому): void printThisInteger(int x) { printf("%d ", x);} Змінні можуть бути оголошені і не визначені. Такі змінні в процесі компіляції ініціалізуються згідно з правилами мови (невизначеним значенням, нулем, NULL-вказівником тощо). Змінні, що мають визначення в іншому сирцевому/об'єктному файлі, слід попередньо оголосити з ключовим словом extern: int foo; //foo могло бути визначене десь у цьому файліextern int bar; //bar має бути визначене в іншому файлі В Паскалі та інших віртівських мовах програмування той факт, що всі сутності мають бути оголошені до першого використання — загальне правило. У мові C застосовується таке саме правило, з винятком для неоголошених функцій і неповних типів. Так, у C є можливість реалізації пари взаємно-рекурсивних функцій: int first(int x) { if (x == 0) return 1; return second(x-1); //випереджальне звернення до second}int second(int x) { if (x == 0) return 0; return first(x-1);} У Паскалі аналогічна реалізація вимагає попереднього оголошення функції second до першого її використання. Без попереднього оголошення компілятор видасть повідомлення про помилку, яке означає, що ідентифікатор second використано без оголошення. (uk)
  • Предварительное объявление является таким типом объявления, при котором сборщик(компилятор) имеет возможность разрешить ссылки из различных частей программы. Предварительное объявление позволяет программисту ссылаться на объекты, о которых компилятор ещё не знает, но которые будут определены в процессе компиляции позже. В программировании предварительное объявление - это объявление идентификатора (типа, переменной или функции), для которого программист ещё не дал полного определения. Объявление идентификатора требуется компилятору для того, чтобы знать тип (размер) идентификатора, но не его значения (в случае переменных). void printThisInteger(int); В C/C++, приведённая строка означает предварительное объявление функции и является её прототипом. После обработки этого объявления, компилятор даёт возможность программисту ссылаться на сущность printThisInteger в остальной части программы. Определение функции должно быть описано где-то ещё (в том же или другом файле; задача линковщика - сопоставить ссылки на данную функцию в одном или нескольких объектных файлах с её единственным определением в другом): void printThisInteger(int x) { printf("%d ", x);} Переменные могут быть объявлены и не определены. Такие переменные в процессе компиляции инициализируются согласно правилам языка (неопределенным значением, нулём, NULL-указателем, ...). Переменные, имеющие определение в другом исходном/объектном файле, должны быть предварительно объявлены с ключевым словом extern: int foo; //foo могло быть определено где-то в этом файлеextern int bar; //bar должно быть определено в другом файле В Паскале и других виртовских языках программирования тот факт, что все сущности должны быть объявлены до первого использования - общее правило. В языке Си применяется то же правило, делая исключения для необъявленных функций и неполных типов. Так, в Си есть возможность реализации пары взаимно-рекурсивных функций: int first(int x) { if (x == 0) return 1; return second(x-1); //опережающее обращение к second}int second(int x) { if (x == 0) return 0; return first(x-1);} В Паскале аналогичная реализация требует предварительного объявления функции second до первого её использования. Без предварительного объявления компилятор выдаст сообщение об ошибке, означающее, что идентификатор second использован, не будучи объявленным. (ru)
  • 在程序设计中,前向声明(Forward Declaration)是指提前声明,但还没有给出完整的定义的标识符(表示编程的实体,如数据类型、变量、函数)。 (zh)
gold:hypernym
prov:wasDerivedFrom
page length (characters) of wiki page
foaf:isPrimaryTopicOf
is Link from a Wikipage to another Wikipage of
is Wikipage redirect of
is Wikipage disambiguates of
is foaf:primaryTopic of
Faceted Search & Find service v1.17_git139 as of Feb 29 2024


Alternative Linked Data Documents: ODE     Content Formats:   [cxml] [csv]     RDF   [text] [turtle] [ld+json] [rdf+json] [rdf+xml]     ODATA   [atom+xml] [odata+json]     Microdata   [microdata+json] [html]    About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 08.03.3330 as of Mar 19 2024, on Linux (x86_64-generic-linux-glibc212), Single-Server Edition (378 GB total memory, 59 GB memory in use)
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2024 OpenLink Software