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

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

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.
chapter 12) 문자열을 출력하는 puts와 fputs 함수 #include int main(void){ char str[80] = "apple juice"; char *ps = "banana"; puts(str); fputs(ps, stdout); puts("milk"); return 0; } main() 함수 1-1. 크기가 80인 char 배열 str을 선언하고 "apple juice"로 초기화 1-2. char 포인터 ps를 선언하고 "banana" 문자열을 가리키도록 초기화 1-3. `puts(str);`를 사용하여 str 배열에 저장된 "apple juice" 문자열 출력, 출력 후 자동으로 줄바꿈 1-4. `fputs(ps, stdout);`를 사용하여 ps가 가리키는 "banana" 문자열을 표준 출력(stdout)에 출력, fputs는 자동으로 줄.. 2024. 8. 24.
728x90
반응형
LIST