따배씨

#include #include int main() { printf("%u\n", sizeof(_Bool)); // 1 byte _Bool b1; b1 = 0; // false b1 = 1; // true printf("%d\n", b1); bool b2, b3; b2 = true; b3 = false; printf("%d %d\n", b2, b3) return 0; } 고전적인 C types엔 Boolean Types이 없었다. 최근에 불타입이 추가되면서 대문자 B를 사용하는 '_Bool'을 사용 할 수 있게 됐다. 불리언형은 false, true 두가지 결과만 있다. 내부적으론 정수형이기 때문에 0과 1로 표시된다. 0은 false, 1은 true이다. 2가지 값만 있는만큼 크기도 가장 작은 사이즈인..
ASCII Chart 컴퓨터는 문자도 tntwk로 바꿔서 처리하기 때문에 문자도 정수형처럼 취급하는데 이때 문자형을 숫자로 대응시키는 규칙을 ASCII Chart이다. #include int main() { char c = 'A'; char d = 65; // d ='A' printf("c %hhd\n", c, c); printf("c %hhd\n", d, d); printf("%c \n", c + 1); char a = '\a'; printf("%c", a); return 0; } c 65 c 65 B char a = '\a'; printf("%c", a); printf("\07"); // \a는 숫자 7에 대응하고, 07은 8진수로 7이다. printf("\x7"); // 16진수로 7은 x7 flo..
각 자료형의 최소크기만을 규정짓고 있기 때문에 어떤 경우에는 여러 시스템에서 자료형의 크기가 모두 다를 수 있다. 즉 한 시스템에서 만든 코드가 다른 시스템에서는 잘 작동하지 않을 수 있다. 이식성이 높지 않다는 뜻이다. 이럴때 변수, 자료형의 자료형을 명확하게 고정 할 수 있도록 사용하는게 고정 너비 정수형이다. #include // #include // also included in inttypes.h #include int main() { int i; int32_t i32;// 32 bit integer / 사이즈를 명확하게 정의 int_least8_t i8;// smallest 8 bit / 최소 크기 지정 int_fast8_t f8;// fastest minimum / 크기 중 가장 빠른 것 i..
10진수 Decimal Numbers 2진수 Binary Numbers 8진수 Octal Numbers 16진수 Hexadecimal Numbers 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 16진수의 경우는 0~9 뒤에 A~F를 빌려서 16개를 사용한다. 의외로 16진수는 색상표 같은곳 등등에서 은근히 자주 만나 볼 수 있다. #include int main() { unsigned int decimal = 4..
정수 자료형 최소 크기(Byte) 값의 범위 형식 지정자 (Format Specififer) signed char 1 -128 ~ 127 hhu 또는 c(문자) unsigned char 1 0 ~ 255 hhu 또는 c(문자) signed short int 2 -32,768 ~ 32,767 hd unsigned short int 2 0 ~ 65,535 hd signed int 또는 signed int 2 또는 4 -32,768 ~ 32,767 or -2,147,483,648 ~ 2,147,483,647 d 또는 i unsigned int 2 또는 4 0 ~ 65,535 or 0 ~ 4,294,967,295 u long int 4 -2,147,483,648 ~ 2,147,483,647 ld unsigned..
sizeof() unsigned int i = 0; printf("%u\n", sizeof(unsigned int)); printf("%u", sizeof(i)); 자료형의 크기를 알아보는 연산자로 사용하는 형식은 함수하고 비슷하다. sizeof(자료형 or 변수) VS(통합개발환경)에서는 sizeof(unsigned int);라고 입력하고 마우스를 가져가면 크기를 알려주지만 컴파일러를 통해 알고 싶으면 printf함수를 사용해야한다. 이 때 printf함수에 형식 지정자를 선택 할 때, 우변에 나오는 자료형과 맞춰줘야 한다.(unsigned int의 형식 지정자는 unsigned의 약자인 u) 다른 형식 지정자를 사용하면 범위에 벗어난 값을 요구하는 경우 오류가 난다. 범위에 포함되는 값은 오류가 나지..
정수(integers) * 음의 정수(..., -3, -2, -1), 0, 양의정수(1,2,3, ...) * 2, -15, 3697 등등 * 사람들은 10진수로 사용하지만 컴퓨터는 내부적으로 2진수 사용 * 8비트(32비트) 부호 없는(Unsigned) 정수 / 8비트(32비트) 부호 있는(signed) 정수 int형이 32비트 signed 정수 부호가 있는 정수는 앞에 한 칸을 부호 표시로 사용. 맨 앞칸에 0이 들어가면 양수, 1이 들어가면 음수. 음수를 표현 할 때 2의 보수 표현법을 사용. 부호 있는 정수와 부호 없는 정수의 범위가 다르다. (부호 표현을 위해 맨 앞 비트를 사용하기 때문이다) ​ 실수(Real numbers) * 정수들 사이의 값들 : 2.0, 3.16, 2.74, 0.123 등..
숫자 2개의 입력을 받고 2개를 더한 값을 출력하는 프로그램 사용하는 함수 - scanf(), printf() /* 홍정모의 따라하며 배우는 C언어 간단한 입출력 프로그램 만들기 */ #include int main() { int i = 0, j = 0, sum = 0; // 변수는 무조건 초기화하는것을 권장 printf("Input two integers\n"); scanf("%d%d", &i, &j); sum = i + j; printf("Your numbers are %d and %d\n", i, j); printf("%d \+ %d = %d\n", i, j, sum); return 0; } 원을 입력 받으면 달러로 변환해서 출력하는 프로그램 사용하는 함수 - scanf(), printf() /* ..
scanf() 함수 - 콘솔창으로부터 사용자의 입력을 받아오는 함수 #include int main() { int i = 0; scanf("%d", &i); // & : ampersand printf("Value is %d\n", i); return 0; } * 콘솔창에 아무숫자나 입력하면 printf()함수가 출력해준다. * f : formatted의 약자로 형식을 맞춰 나타낸다는 뜻 * 포매팅(formating) : %~, ~ 부분에 뭐가 들어가는지 형식을 지정해주는 것. "%d" : scanf 함수에서는 입력을 어떻게 받을지, printf함수에서는 출력을 어떻게 할지 formating 해주고 있다.입력과 출력을 d(decimal, 10진수)로 받겠다고 포매팅해주고 있다. * &(ampersand) ..
- 변하는 값인 변수(Variable). 변하지 않는 값인 상수(Constants). ​ - 변수와 리터럴상수 자료형 변수(variable) = 리터럴상수;(literal constant) int angel = 1004; 변수는 어떤 값이 저장 될 수 있는 메모리 공간을 의미한다. 메모리 공간에 담기는 값의 바뀌면 변수의 값도 바뀐다. 반면에 리터럴상수는 문자 그대로의 의미를 갖고 값의 바뀔 수 없다. ​ - 기호적상수와 리터럴상수 한정자(제한자, Qualifier) 자료형 기호적상수(Symbolic constant) = 리터럴상수(literal constant); const int angel = 1004; 자료형과 const라는 키워드를 함께 사용하면 변수의 값을 바꿀 수 없다. 값을 못 바꾸는 변수는..
개발원슝이
'따배씨' 태그의 글 목록