c언어

    [C언어] 함수 매개변수 앞에 const?

    [C언어] 함수 매개변수 앞에 const?

    들어가며 const float PI = 3.14 보통 변하지 않는 상수값을 정의하기 위해 변수의 자료형 앞에 const를 사용합니다. 포스팅을 하기 위해 코딩도장을 살펴보니 const의 위치가 자료형 뒤로 가도 된다고 하더군요. 신기하지만 딱히 활용할 일은 없을 것 같습니다. 컨벤션을 지켜야겠죠! 오늘 알아볼 것은 일반적인 변수에 사용하는 const가 아닙니다. 함수들의 원형을 살펴보면 많은 함수들이 매개변수의 자료형에 const를 사용합니다. 왜 함수의 매개변수의 자료형에 const를 붙이는지 궁금해서 정리하다가 포스팅을 하게 되었습니다. 어떤 함수의 매개변수에 const를 사용했을까? intatoi(const char *nptr); intstrncmp(const char *s1, const char ..

    [C언어] 코드로 알아보는 산술 연산자

    [C언어] 코드로 알아보는 산술 연산자

    산술 연산자 정리 연산자 설명 + 덧셈 - 뺄셈 * 곱셈 / 나눗셈 (몫) % 나머지 ++ 증가 연산자. 변수 = 변수 + 1 (전위/후위 구분 있으니 아래 코드 참고) -- 감소 연산자. 변수 = 변수 - 1 (전위/후위 구분 있으니 아래 코드 참고) printf 함수 내에서 산술 연산 # include int main() { int a = 20; int b = 10; printf("\n\n", a, b); printf("a + b = %d\t", a+b);// a + b = 20 + 10 = 30 printf("현재 a = %d, b = %d\n", a, b); printf("a - b = %d\t", a-b);// a - b = 20 - 10 = 10 printf("현재 a = %d, b = %d\..

    [C언어] scanf 정리

    [C언어] scanf 정리

    입력 함수 scanf 형식 : scanf("형식 지정자", 변수의 주소); # include // scanf, printf 함수을 포함하고 있는 헤더 파일 int main() { int a; char b; double c; float d = 1.1; printf("%d %c %f %f\n", a, b, c, d); scanf("%d %c %lf %f", &a, &b, &c, &d); printf("%d %c %f %f", a, b, c, d); return 0; } /*************** 결과 **************** 0 0.000000 1.100000 1 a 15.6 17.9 (를 입력하면) 1 a 15.600000 17.900000 (이 출력된다) **********************..

    [C언어] 변수와 자료형, 그리고 상수

    [C언어] 변수와 자료형, 그리고 상수

    변수와 자료형 네이버 사전에 따르면 변수는 '계속 변하는 값이면서, 그 값을 저장하는 공간'이라고 정의되어 있다. 처음 접하는 사람 입장에서는 어려울 수 있는데, 쉽게 말해 변수는 어떠한 값을 담는 바구니라고 생각하자. 근데 그 바구니 안에 담긴 값들은 계속해서 바뀔 수 있는 값인 것이다. 여태까지 정수 자료형, 실수 자료형, 문자 자료형을 포스팅했는데 여기서 '정수형', '실수형', '문자형'과 같은 자료형은 바구니의 크기를 결정짓고 바구니에 담길 값들의 형식을 지정해준다고 생각하면 쉽다. 어제 포스팅했던 문자 자료형을 예로 들어보자. 음수까지 담을 수 있는 char 자료형보다는 이해를 쉽게 돕기 위해 unsigned char 자료형으로 설명해보겠다. unsigned char 자료형은 총 1byte(8..

    [C언어] 문자 자료형과 아스키 코드(ASCII)

    [C언어] 문자 자료형과 아스키 코드(ASCII)

    문자 자료형 C언어에서 사용하는 문자 자료형은 다음과 같다. 자료형 크기 범위 형식 지정자 char 1byte (8bit) -128 ~ 127 %c unsigned char 1byte (8bit) 0 ~ 255 %c 주의할 점은 char 자료형으로 선언한 변수에는 문자 그 자체가 담기는 것이 아니라 문자에 해당하는 정수 값, 즉 아스키 코드 값(ASCII)이 담긴다는 것이다. 아스키 코드에 대해서는 아래에서 조금 더 이야기해보도록 하고, 정수가 담긴다는 것을 확실히 이해하기 위해 몇 가지 예시를 통해 확인해보자. #include int main() { char a = 65; char b = 'A'; printf("%c와 %c는 같은 것입니다.", a, b); return 0; } /******* 결과 *..

    [C언어] 실수형 변수 출력 시 소수점 자릿수 조절 (반올림/올림/내림)

    [C언어] 실수형 변수 출력 시 소수점 자릿수 조절 (반올림/올림/내림)

    소수점 자릿수 조절 (반올림/올림/내림) #include int main() { float f1 = 20.0616f; printf("소수점 이하 6자리 출력 : %f\n", f1); printf("소수점 이하 0자리 출력 : %.f\n", f1); printf("소수점 이하 0자리 출력 : %.0f\n", f1); printf("소수점 이하 2자리 출력 : %.2f\n", f1); printf("소수점 이하 3자리 출력 : %.3f\n", f1); return 0; } /************** [결과] ************** 소수점 이하 6자리 출력 : 20.061600 소수점 이하 0자리 출력 : 20 소수점 이하 0자리 출력 : 20 소수점 이하 2자리 출력 : 20.06 소수점 이하 3자리 ..

    [C언어] 정수 자료형 정리 (64bit Windows 기준)

    [C언어] 정수 자료형 정리 (64bit Windows 기준)

    일반적인 정수 자료형 C언어에서 사용하는 정수 자료형 중 자주 쓰이면서 핵심적인 자료형은 정해져있다. 아래 표에 정리되지 않은 것들은 본 글 최하단에 기재되어 있는 링크를 통해 확인하자. 자료형 크기 범위 최솟값 최댓값 형식 지정자 (signed) char 1byte (8bit) -128 ~ 127 CHAR_MIN CHAR_MAX %d unsigned char 1byte (8bit) 0 ~ 255 0 UCHAR_MAX %u (signed) int 4byte (32bit) -2,147,483,648 ~ 2,147,483,647 INT_MIN INT_MAX %d unsigned int 4byte (32bit) 0 ~ 4,294,967,295 0 UINT_MAX %u (signed) long long 8byt..