#220719
int sum(int *pa, int *pb);
int main(void)
{
int a = 2, b = 5, c = 0;
std::cout << "sum()호출 전 a = " << a << std::endl;
std::cout << "sum()호출 전 b = " << b << std::endl;
std::cout << "sum()호출 전 c = " << c << std::endl;
c = sum(&a, &b);
std::cout << "sum()호출 후 a = " << a << std::endl;
std::cout << "sum()호출 후 b = " << b << std::endl;
std::cout << "sum()호출 후 c = " << c << std::endl;
return 0;
}
int sum(int *pa, int *pb){
// a의 주소가 포인터 pa로 전달됨
*pa = *pa + 2;
*pb = *pb + 5;
return(*pa + *pb);
}
#include <iostream>
void show(void);
int x; //전역 변수
//정적 데이터 영역에 저장
int main(void)
{
int y; //지역 변수
//스택에 저장
}
void show(void)
{
int z; //지역 변수
}
int main(void)
{
// 지역 변수는 스택에서 일시적으로 저장되며 선언된 블록내에서만 접근 가능하고 유효함
int k = 10; // 지역 변수
std::cout << "k=" << k << std::endl;
{
int k = 20; // 지역 변수
k+=10;
std::cout << "k=" << k << std::endl;
}
k += 6;
std::cout << "k=" << k << std::endl;
return 0;
}
void sub(void);
int main(void)
{
sub(); // x=10, y=10
sub(); // x=10, y=11
sub(); // x=10, y=12
return 0;
}
void sub(void)
{
int x = 10; //auto (자동 범위 변수: 실행할때 만들어지고 블럭 사라지면 사라짐)
//static (정적 변수) 처음 실행시 '한 번만' 초기화 (블록 내에서만 유효, 돌아왔을 때 이전값을 다시 이용 가능)
static int y = 10;
std::cout << "x=" << x << "y=" << y << std::endl;
x++;
y++;
}