extern . . , . , , .
1 2
1.
Extern | static | . | auto | Register | . Static | |
- | - | ++ | ||||
. | . | . | ||||
. | 0 | 0 | . | . | 0 |
, . . 3 .
1. ;
2. ;
3. .
, .
# - , , . .
:
#define
#undef -
#define :
)
#define TWO 2
#define MSG
#define PX printf(X %d\n,x)
#define FMT X %d
void main (void) {
int x=TWO;
PX;
Printf(FMT,x);
Printf(%s\n,MSG);
Printf(TWO:MSG\n);
}
. . .
)
(-).
#define SQUARE(x) x*x
#define PR(x) printf(X %d\n,x)
void main(void) {
int x=4; int z;
z=SQUARE(x); //16
PR(z);
Z=SQUARE(2); //4
PR(z);
PR(SQUARE(X));
PR(100/SQUARE(2));//100
PR(SQUARE(X+2)); //14
PR(SQUARE(++X)); //30
}
. . , .
|
|
#include , .
1. #include <stdio.h> -
2. #include stdio.h .
3. .
#include my_file.cpp
4. . .
#define MY_FILE d:\\bc\work\\my_file.h
#include MY_FILE
. .
#if _
[ ]
[ #elif _
]
...
[ #else ]
#endif
_ . 0, #if #else, #elif #endif.
1. #ifdef CI
#include <stdio.h>
#define MAX 80
#else
#include <iostream.h>
#define MAX 132
#endif
2. #ifndef
#ifndef MY_FILE //
#define MY_FILE //
#include my_fyle
#endif
3. #if SYS == IBM
// ,
// , 0
#endif
4.
#ifdef
*****
#endif
#if defined(__LARGE__)||defined(__HUGE__)
typedef INT long
#else
typedef INT int
#endif
, , 0, 1, 2... . , - &.
int var=1; - . var .
printf ("%d %d\n",var, &var); 1 12136
. " 2 , var. 12136 ". 12136, &var.
. ptr; ptr=&var;
"ptr var", ptr-, &var-.
ptr=# - num.
13.1 *
, ptr, .
val=*ptr; //val==num
*ptr = 10; //num==10
, . ! , , . , , , , *.
int* ptr;
float* pmas;
char* pc;