Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Symbolic Constant | Macros
C Preprocessing
course content

Kursusindhold

C Preprocessing

C Preprocessing

1. Introduction to Preprocessing
2. Macros
3. Conditional compilation

book
Symbolic Constant

Each #define line consists of three parts:

The body of a macro can be not only a single numeric value, but also other macros or entire expressions:

c

main

copy
12345678910
#include <stdio.h> #define TWO 2 // macros with value. #define RESULT TWO*TWO // TWO is replaced by the number 2. #define PRINT printf("result = %d", RESULT); int main() { PRINT return 0; }

Every time the compiler encounters “TWO”, it will simply substitute its value 2.

The macro is immutable. Once defined, it is a permanent textual substitution within the file or scope where it is defined.

Why do we need this? Why not just use variables?

What is better to use?:

  • If the value never changes, const is better, because it is safer;
  • If you need to substitute a simple number or text, you can use a macro.
  1. Create an object macro add, the body of the macro is an addition operator +.
  2. Use a macro to add any two numbers.
Opgave

Swipe to start coding

  1. Create an object macro add, the body of the macro is an addition operator +;
  2. Use a macro to add any two numbers.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 1
toggle bottom row

book
Symbolic Constant

Each #define line consists of three parts:

The body of a macro can be not only a single numeric value, but also other macros or entire expressions:

c

main

copy
12345678910
#include <stdio.h> #define TWO 2 // macros with value. #define RESULT TWO*TWO // TWO is replaced by the number 2. #define PRINT printf("result = %d", RESULT); int main() { PRINT return 0; }

Every time the compiler encounters “TWO”, it will simply substitute its value 2.

The macro is immutable. Once defined, it is a permanent textual substitution within the file or scope where it is defined.

Why do we need this? Why not just use variables?

What is better to use?:

  • If the value never changes, const is better, because it is safer;
  • If you need to substitute a simple number or text, you can use a macro.
  1. Create an object macro add, the body of the macro is an addition operator +.
  2. Use a macro to add any two numbers.
Opgave

Swipe to start coding

  1. Create an object macro add, the body of the macro is an addition operator +;
  2. Use a macro to add any two numbers.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 1
Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Vi beklager, at noget gik galt. Hvad skete der?
some-alt