C/Macro Preprocessor/Macro Constant

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Define constant in Macro

<source lang="cpp">

  1. include <stdio.h>
  2. include <assert.h>
  3. define ROW_Constant 10
  4. define COL_Constant 10

int main() {

 int row, col;
 for ( row = 1; row <= ROW_Constant; row++) {
     assert ( row <= ROW_Constant );
     for ( col = 1; col <= COL_Constant; col++ ) {
         assert ( col <= COL_Constant );
         printf ( "%4d", row * col );
     }
     printf ( "\n" );
 }

}


      </source>


Define constant in Macro for loop control

<source lang="cpp">

  1. include <stdio.h>
  2. define count 31

int main() {

   int heat[count];
   int i;
   float celsius;
   
   for(i = 0; i < count; i++) {
       celsius = ( 5.0 / 9.0 ) * ( heat[ i ] - 32);
       printf("%d \t \t%6.2f \n", heat[ i ], celsius);
   }

}


      </source>


Define header file name in macro

<source lang="cpp">

  1. define STDIO <stdio.h>
  2. include STDIO

int main(void) {

 printf("This is a test.");
 return 0;

}


      </source>


Define Macro and use it as the loop condition

<source lang="cpp">

  1. include <stdio.h>
  2. define MAX 100

int main(void) {

 int i;
 for( i = 0; i < MAX; i++) 
     printf("%d ", i);
 return 0;

}


      </source>


Define macro: constant

<source lang="cpp"> /* Define macro */

  1. include <stdio.h>
  2. define PI 3.14159f /* Definition of the symbol PI */

void main() {

  float radius = 0.0f;
  float diameter = 2.0f;
  float circumference = 0.0f;
  float area = 0.0f;
  radius = diameter/2.0f;
  circumference = 2.0f*PI*radius;
  area = PI*radius*radius;
  printf("\nThe circumference is %.2f", circumference);
  printf("\nThe area is %.2f", area);

}


      </source>


Define macro for string and output

<source lang="cpp">

  1. include <stdio.h>
  2. define FUN "Macro Substitutions"

int main(void) {

 printf(FUN);
 return 0;

}


      </source>


Define macro inside the main function

<source lang="cpp">

  1. include <stdio.h>

void f(void); int main(void) {

 #define LIGHTSPEED 186000
 f();
 return 0;

} void f(void) {

 printf("%ld", LIGHTSPEED);

}


      </source>


Define Macro: TRUE and FAlSE

<source lang="cpp">

  1. include <stdio.h> /* For input and output */
  2. define TRUE 1 /* Defines the symbol TRUE */
  3. define FALSE 0 /* Defines the symbol False */

void main() {

    int correct = TRUE;  /* By default indicates correct sequence entered */
    printf("%s\n", correct? "Correct!" : "Wrong!");

}


      </source>


Define marco based calculation

<source lang="cpp">

  1. include <stdio.h>
  2. define SMALL 1
  3. define MEDIUM SMALL+1
  4. define LARGE MEDIUM+1

int main(void) {

 printf("%d %d %d", SMALL, MEDIUM, LARGE);
 return 0;

}


      </source>


Use Macro

<source lang="cpp">

  1. define BIG_NUMBER 10 * 10

main() {

   int   index = 0;
   while (index < BIG_NUMBER) {
       index = index * 8;
   }
   return (0);

}

      </source>