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

전체 글388

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.
chapter 13) auto 지역 변수와 static 지역 변수의 비교 #include void auto_func(void); void static_func(void); int main(void){ int i; printf("common auto function...\n"); for (i = 0; i < 3; i++){ auto_func(); } printf("static function...\n"); for (i = 0; i < 3; i++){ static_func(); } return 0; } void auto_func(void){ auto int a = 0; a++; printf("%d\n", a); } void static_func(void){ static int a; a++; printf("%d\n", a); } - **`main` 함수**: - `main` 함수는.. 2024. 8. 27.
chapter 13) 블록 안에 지역 변수를 사용하여 두 변수를 교환하는 프로그램 #include int main(void){ int a = 10, b = 20; printf("before a, b :%d, %d\n", a, b); { int temp; temp = a; a = b; b = temp; } printf("after a,b : %d, %d\n",a,b); return 0; } - **변수 초기화**: - 정수형 변수 `a`와 `b`를 선언하고, 각각 10과 20으로 초기화합니다. - **값 출력 (교환 전)**: - `printf` 함수를 사용하여 교환 전의 `a`와 `b`의 값을 출력합니다. - **값 교환**: - 중괄호 `{}` 내에 임시 변수 `temp`를 선언합니다. 이는 코드 블록 내에서만 유효한 지역 변수로, `a`와 `b`의 값을 교환하는 데 사용됩니다. -.. 2024. 8. 26.
chapter 12) 직접 구현하는 gets() 함수 #include int main(void){ int i = 0; char str[20]; char ch; do{ ch = getchar(); str[i] = ch; i++; }while (ch != '\n'); str[--i] = '\0'; printf("%s", str); return 0; } main() 함수 1-1. 정수형 변수 i를 0으로 초기화하고 크기가 20인 char 배열 str 선언, char 변수 ch 선언 1-2. do-while 루프를 사용하여 사용자로부터 문자를 입력 받음. 각 문자는 ch에 저장되고, str 배열에 순서대로 저장된 후 i를 증가시킴 1-3. 입력받은 문자가 개행 문자('\n')일 때 루프 종료 1-4. 루프 종료 후, str 배열의 마지막에 널 문자('\0')를 추.. 2024. 8. 25.
728x90
반응형
LIST