, :
;
( );
;
;
;
.
, , . :
[s] [m] 1 [.1], 2 [.2], ;
s - (auto, static, extern, register); m const volatile; ( ); ; . , . , , .
(.) :
=
( )
:
const double pi = 3.1415; /* pi */
extern const double pi; // pi
. , .. . .
:
volatile () (), , . volatile , volatile.
const () (), , . const volatile. , : const double PI = 3.14159; // PI.
:
auto , . auto , , . . auto . auto , , , , .. auto;
register , . register auto, , . , ( ) register auto. register , , , register, .
|
|
static . , static, (), . static . static , auto, , ;
extern . extern , .. () . extern . extern , , .
. , , .. (*.exe) , .
, ({}), , static. , ({}), extern. , , , , , .. .
, (exe ), (, ), . . . , - , , - .
, ({}) static, , static . , , , . . , . , , . , , . :
|
|
// 3.1
#include "stdafx.h"
#include <iostream> //1
int pr = 7; /*2. pr. pr . */
int sum(int pa, int pr); /*3. sum(), : pa pr. pa pr . */
void main(){ //4.
int pr = 8; /*5. pr. pr c main(), .. 5 13 . */
std::cout<<"\n 1. sum(pr, 3) = "<<sum(pr, 3); /*6. sum()*/
{ //7.
int pr = 9; /*8. pr. pr c , .. 8 11 . */
std::cout<<"\n 2. sum(pr, 3) = "<<sum(pr, 3); /*9. sum()*/
std::cout<<"\n 3. sum(::pr, 3) = "<<sum(::pr, 3); /*10. sum()*/
} //11.
std::cout<<"\n 4. sum(::pr, 3) = "<<sum(::pr, 3);/*12. sum()*/
getchar();
} //13. main()
int sum(int z, int pr){ /*14. z pr. sum(), .. 14 18 . */
static int count = 0; /*15. count. . */
count ++; //16.
return z+pr; //17.
}
1, 2, 4, 7, 13 pr. , , , , - .
, , pr, , , . pr (. 3.1)
. 3.1. , ()
. 3.1 pr. , pr . , , , , , (::), 10 12 . , pr, 5 7 11, . , , .
count , - , , , sum(), .. 15 18. .
, , . , - . 15 sum(), .. 15 . . sum() count 15; 16 sum(). , count sum().
|
|
, (), . ( ) , (), .
(), , , , . . , ; , , . :
// 3.2
1.cpp | 2.cpp |
#include "stdafx.h" #include <iostream> //1 int fst = 1; //2 int snd = 3; //3 void printFst(); //4 void printSnd(); //5 void main(){ //6 std::cout<<"\n fst = "<<fst;//7 printFst(); //8 printSnd(); //9 getchar(); } //10 | #include "stdafx.h" #include <iostream> //11 static int fst = 2; //12 extern int snd; //13 void printFst(){ //14 std::cout<<"\n fst = "<<fst;//15 } //16 void printSnd(){ //17 std::cout<<"\n snd = "<<snd;//18 } //19 |
:
fst = 1
fst = 2
snd = 3
() 1. 2.. 1. 2 3 fst snd , . , , snd 13 2.. 12 2. fst , 2. fst 2. , , snd , fst , .
. main() fst, 1., printFst() printSnd(), 2.. printFst() fst , . printSnd() snd, 13.
. , . , - - - . extern .
|
|
, , , , , .
, (, , , , ..) ++. .
3.1
. - . , . extern static | ||
static | . . . static | |
, | . . . auto register | |
void*malloc(int) new. free(void*) delete | malloc() new free() delete. ( ), , . , , , . |
. , . .