목록콤퓨타 왕기초/C (11)
파게로그
for (size_t i = 0; i 컴파일 에러. size_t i; 선언부가 위로 빠져야 함 while문 코딩 표준... 조건식에 그냥 변수를 넣기보다는 ==0이나 !=0을 사용하자
case에 정수형(ex: int, char, enum)만 사용할 수 있음! cf. switch-case문에서 break 안 써서 아래 코드 쭉 실행시키는 걸 fall-through라고 함 fall-through는 코딩 표준에서.. 명시적으로 표기하도록..! 예) enum day { DAY_MONDAY, DAY_TUESDAY, DAY_WEDNESDAY /*...*/ }; enum day day = DAY_MONDAY; switch (day) { case DAY_MONDAY: printf("Sad\n"); /* intentional fallthrough */ case DAY_FRIDAY: printf("Happy\n"); break; default: printf("Soso\n"); break; } cf. c..
bool expression(불 표현식) (a>10)은 '0 또는 0이 아닌 값'을 반환하는 것이 아니라 '0 또는 1'을 반환한다.
부호 없는 정수형이지만 실제 데이터형은 아님 _t: typedef를 했다는 힌트 - typedef는 다른 자료형에 별칭을 붙이는 것 - 플랫폼에 따라 다른 자료형을 쓰기 위해서 size_t를 typedef한 것 - ex. Clang Windows에서는... 64bit OS이면 unsigned __int64(64비트), 32bit OS이면 unsigned int(32비트) (C89 표준) - size_t의 크기는 명시되지 않음 - 단, 배열을 만들면 그 배열의 바이트 크기를 얻을 수 있다고 명시함 -> size_t는 최소 그 정도는 담을 수 있는 크기(배열의 크기는.. 2^8-1은 너무 작고 최소 2^16-1=65535는 되어야 할 것 같음...) (C99 표준) 최소 16비트 요구 (일반적으로) unsi..
우선순위 연산자 설명 연산자 결합 법칙 1 ++ -- 후위 증감 연산자 → () 함수 호출 [] 배열 첨자 . 구조체, 공용체 멤버 접근자 -> 구조체, 공용체 멤버 접근자(포인터) 2 ++ -- 전위 증감 연산자 ← + - 단항(unary) 연산자 ! ~ 논리/비트 부정(NOT) 연산자 (자료형) 자료형 캐스팅 * 역참조(간접참조) & 주소(address-of) sizeof 피연산자의 크기(size-of) 3 * / % 곱하기, 나누기(몫), 나머지 → 4 + - 덧셈, 뺄셈 → 5 왼쪽, 오른쪽 비트 이동 연산자 → 6 = 7 == != 비교 연산자 → 8 & 비트 AND 연산자 → 9 ^ 비트 XOR 연산자 → 10 | 비트 OR 연산자 → 11 && 논리 AND 연산자 → 12 || 논리 OR 연..
블록 시작 때에 모든 변수를 선언해야 한다. 그 뒤에 선언하면 컴파일 에러
명시적인 캐스팅 없이 int와 섞어서 사용 가능 정수에 별명을 붙이는 수준... enum day { DAY_MON, DAY_TUE, DAY_WED, /*생략*/ }; enum month { MON_JAN, MON_FEB, MON_MAR, /*생략*/ }; enum day hump_day = DAY_WED; enum month birth_month = hump_day; // 컴파일 가능... -> [ENUM NAME]_[MEMBER NAME]으로 표현해야 실수 방지
char short int long float double long double char char ch1 = 'a' // 97 'a' char ch2 = ch1 + 1; // 98 'b' char ch3 = 99; // 99 'c' • 표준 최소 8비트인 정수형 • char에 대해 새롭게 알게 된 사실 · C 표준에서 1byte란 8bit가 아니라 CHAR_BIT로 정의된다. · char는 기기에서 접근할 수 있는 가장 작은 단위이다. • 포팅 문제 없는 값의 범위 · unsigned char: 0 ~ 255 · char: 0 ~ 127 · signed char: -127 ~ 127 • 표준과 무관하게 일반적으로 사용되는 값의 범위 · unsigned char: 0 ~ 255 · char: signed ..