반응형

프로그래밍/C, C++ 4

전역변수와 지역변수에 static 활용하기

먼저 전역변수와 지역변수의 개념은 다음과 같다. 전역변수 : 프로그램이 시작할 때, 1회 초기화되고 프로그램 종료 시까지 메모리에 존재 지역변수 : 선언된 함수 내에서만 접근이 가능하며, 속해있는 함수가 반환되는 동시에 소멸 그렇다면, 지역 변수에 static을 활용하면 어떻게 될까? "지역변수에 static이 붙게 되면, 전역변수와 같이 활용할 수 있다." #include void test(void){ static int n = 0; int test = 1; n = n+1; test = test+1; printf("static data : %d, local : %d\n", n, test); } int main(void){ int i; for(i = 0; i

포인터 대상의 const 선언

포인터 변수가 참조하는 대상의 변경을 허용하지 않는 Const 선언하기🙃 #include int main(void){ int n = 30; const int *nptr = &n; *nptr = 1000; printf("에러코드입니다. %d", *nptr); return 0; } 결과는 에러이다. const 선언 포인터 변수는 "포인터 변수 nptr을 사용하여 저장된 값을 변경하는 것이 불가능하다." 그러나, 변수 값을 직접 변경하는 것은 허용된다. 즉, n의 값을 n = 9000으로 변경할 수 있다는 뜻이다. 또한, const 선언 변수는 변경시 오류가 발생한다. #include int main(void){ const double ratio = 55.33468; ratio = 2222.5567; prin..

Call by value vs Call by reference

Call by value와 Call by reference는 함수 호출방식을 의미합니다. 값을 전달하는 형태의 함수 호출 방식 : Call by value 주소 값을 전달하는 형태의 함수 호출 방식 : Call by reference 1. 값을 전달하는 형태의 함수 호출 방식 : Call by value(값) 함수를 호출할 때 인자로 전해지는 변수에 값을 전달하는 방식을 Call by value(값)라고 한다. 일반적인 변수를 이용한 함수에서 사용되며 값을 복사해서 전달하기 때문에 원래의 변수(main부분)에 영향을 주지 않는다. #include void swap(int a, int b){ int temp; temp = a; a = b; b = temp; printf("a, b : %d, %d\n", a..

c언어 기본 자료형의 종류와 데이터의 표현 범위

c언어는 다양한 자료형을 가지고 있으며, 종류와 특징은 다음과 같다. 😉😉😉 자료형 크기 값의 표현 범위 정수형 char 1바이트 -128 ~ 128 short 2바이트 -32,768이상 32,767이하 int 4바이트 -2,147,483,648 이상 2,147,483,648이하 long 4바이트 -2,147,483,648 이상 2,147,483,648이하 long long 8바이트 -9,223,372,036,854,775,808 이상 9,223,372,036,854,775,808 이하 실수형 float 4바이트 $\pm$ 3.4 x $10^{-37}$이상 $\pm$ 3.4 x $10^{38}$이하 double 8바이트 $\pm$ 1.7 x $10^{-307}$이상 $\pm$1.7 x $10^{+308}..

반응형