본문 바로가기

Study_C, C++

(52)
[홍정모의 따라하며 배우는 C언어] 9.3 함수의 자료형과 반환값 9.3 함수의 자료형과 반환값2개의 정수를 입력받아 가장 작은 정수를 출력하는 함수#pragma warning (disable:4996)#include int int_min(int, int);int main(){ int i1, i2; while(1){ printf("Input two integers : "); if(scanf("%d %d",&i1, &i2) != 2) break; int lesser = int_min(i1, i2); printf("The lesser of %d and %d is %d\n",i1, i2, lesser); return 0; } printf("End.\n");}int int_min(int i1, int..
extern "C" 의 의미와 사용이유 - extern "C"의 의미#ifdef __cplusplusextern "C" {#endif..... .......... .....#ifdef __cplusplus}#endifextern C : C++에서만 사용되는 Identifier로, 중괄호 안에 정의된 function 또는 header file에 관해서는 mangling하지 말라는 뜻즉 C언어의 호출 규칙을 사용하도록 함보통 C에서 선언한 Function이나 Global Variable을 C++에서 사용할 때 선언 extern은 Link의 규칙을 정하는 keyword - Name ManglingC++에서 사용되는 개념으로, C++ compiler 단계에서 이미 선언된 function 혹은 variable의 이름에 function의 argument..
Visual Studio에서의 <bits/stdc++.h> 사용법 : 모든 표준 Library가 포함된 Header File #include 등의 기본적인 Library를 Include하는 작업을 생략할 수 있게 해줌 표준 library는 아님 GCC compiler에는 내장되어있으나 Visual Studio는 msvc compiler를 사용하므로 위 header file을 사용하려면 직접 include 폴더에 넣어줘야 함 msvc : MicroSoft에서 개발한 전용 C++ Compiler 위 파일을 다운로드 받은 후 아래 경로로 이동 (Visual Studio 2022의 경우) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\include 해당 경로에 'bits'라는 ..
[홍정모의 따라하며 배우는 C언어] 9.1 함수가 필요할 때 ~ 9.2 함수의 프로토타입 9.1 함수가 필요할 때함수가 언제, 왜 필요하고 어떻게 쓰는가? : 기능 확장이 필요한 경우, 같은 코드들이 반복될 때 사용함수 사용에 익숙해지면 C++, Python등의 객체지향 언어를 사용할 때 편리함 프로그램 작성시 고려 사항일반화 + 확장성 : 더 많은 경우에서 쉽게 동작하도록 함같은 기능이 여러번 나오지 않도록 함 : 같은 기능이 여러번 나오면 유지, 보수가 어려움 - 함수의 기본 형태return_type function_name (arguments){ Funciton body ----- ----- return return_variable}return type : 함수가 반환(출력)하는 변수의 자료형함수 선언시 return type 부분이 비어있다면 그 함수의 return ..
[홍정모의 따라하며 배우는 C언어] 8.9 텍스트 파일 읽기 8.9 텍스트 파일 읽기 파일의 데이터를 읽어들이는 방법과 그 때 EOF의 활용법 #pragma warning (disable:4996) #include #include // exit() 사용을 위한 library main() { int c; FILE* file = NULL;// file이라는 포인터 변수를 선언 char file_name[] = "my_file.txt";// 파일의 format이 text 파일. file = fopen(file_name, "r");// 파일의 스트림을 염 if (file == NULL) {// 파일을 열지 못하였을 때 NULL이 들어감 printf("Failed to open file.\n"); exit(1);// 파일을 여는데 실패했다고 알림. 그리고 프로그램 자체를 ..
[홍정모의 따라하며 배우는 C언어] 8.8 메뉴 만들기 예제 8.8 메뉴 만들기 예제 메뉴가 나오는 프로그램 #pragma warning (disable:4996) #include main() { char input, buffer; int i, j; while (1) { printf("Enter the letter of your choice : \n"); printf("a. avengers\tb. beep\nc. count\tq. quit\n"); input = getchar(); buffer = getchar(); if (input == 'a') printf("Avengers assemble!\n"); else if (input == 'b') printf("\a"); else if (input == 'c') { printf("Enter an integer : \..
[홍정모의 따라하며 배우는 C언어] 8.7 입력 스트림과 숫자 8.7 입력 스트림과 숫자스트림 : 사용자가 입력한 내용이 우리가 만든 프로그램으로 흘러들어가는 과정 #include #pragma warning (disable:4996) main(){ char str[255]; int i, i2; double d; scanf("%s %d %lf", str, &i, &d); printf("%s %d %f\n", str, i, d); scanf("%s %d %d", str, &i, &i2); printf("%s %d %d\n", str, i, i2); char c; while ((c = getchar()) != '\n') putchar(c); printf("\n");} Output : (hello 123 3.14 입력)hello 123 3.140000..
[홍정모의 따라하며 배우는 C언어] 8.6 입력 확인하기 8.6 입력 확인하기 사용자가 입력한 데이터가 내가 필요로 하는 데이터인지, 즉 의도한대로 입력됐는지 확인하는 프로그램 #include #pragma warning (disable:4996) main() { printf("Please input an integer and press enter.\n"); long input;// 큰 정수를 받기 위해 long type 사용 char c; while (scanf("%ld", &input) != 1) {// long 숫자가 하나만 들어오면 while문으로 진입하지 않음 printf("Your input - "); while ((c = getchar()) != '\n') putchar(c);// input left in buffer : 입력을 제대로 받지 못했다..