본문 바로가기
728x90
반응형
SMALL

개념/혼자 공부하는 C언어148

chapter 13) 주소를 반환하여 두 정수의 합 계 #include int *sum(int a, int b); int main(void){ int *resp; resp = sum(10,20); printf("two integer sum : %d\n", *resp); return 0; } int *sum(int a, int b){ static int res; res = a + b; return &res; } - **함수 선언**: `int *sum(int a, int b);` - `sum` 함수는 두 정수 `a`와 `b`를 매개변수로 받아, 그 합을 계산하고 결과의 주소를 반환합니다. - **`main()` 함수** 1. **포인터 변수 선언**: - 정수형 포인터 변수 `resp`를 선언합니다. 이 변수는 나중에 `sum` 함수로부터 결과값의 주소를 받아.. 2024. 8. 31.
chapter 13) 전역 변수의 사용 #include void assign10(void); void assign20(void); int a; int main(void){ printf("before a : %d\n", a); assign10(); assign20(); printf("after a : %d\n", a); return 0; } void assign10(void){ a = 10; } void assign20(void){ int a; a = 20; } - **전역 변수 선언**: `int a;` - 프로그램 전체에서 접근 가능한 정수형 전역 변수 `a`를 선언합니다. 초기값은 기본적으로 0입니다. - **`main()` 함수** 1. **전역 변수 초기 상태 출력**: - `printf` 함수를 사용하여 전역 변수 `a`의 초기값을 .. 2024. 8. 30.
chapter 13) 레지스터 변수를 반복문에 사용한 예 #include int main(void){ register int a; auto int sum = 0; for (int i = 1; i 2024. 8. 29.
chapter 13) 두 함수에서 같은 이름의 지역 변수를 사용한 경우 #include void assign(void); int main(void){ auto int a = 0; assign(); printf("main function a : %d\n", a); return 0; } void assign(void){ int a; a = 10; printf("assign function a : %d\n", a); } - **`main` 함수**: - `auto int a = 0;`를 통해 `main` 함수의 지역 변수 `a`를 선언하고 0으로 초기화합니다. `auto` 키워드는 지역 변수의 기본 저장 클래스를 지정하며, 일반적으로 생략됩니다. 이 변수는 `main` 함수 내에서만 유효합니다. - `assign` 함수를 호출합니다. 이 함수는 별도의 지역 변수 `a`를 선언하고.. 2024. 8. 28.
728x90
반응형
LIST