본문 바로가기

C언어24

[C언어]암시적 형변환 C99표준(size_t(=unsigned int) 와 int 연산할 때 형변환포함) 이전 글에서 size_t 자료형 사용할 때 주의점을 적었었는데, 왜 unsigned 자료형과 signed 자료형을 연산할 때 unsigend로 변하는지 C99표준에 기반하여 설명하고 size_t(=unsigned int)와 int연산할 때 형변환 예시를 알려주겠다. 암시적 형변환은 대부분 자료형 크기가 작은쪽이 큰쪽으로 이동한다고 알고있다. 정수형 타입의 순위 char < short < int < long 실수형 타입의 순위 float < double < long double 대략적으로 보면 이렇게 되지만 같은 정수 자료형에서의 signed와 unsigned로 계산을 하면 어떻게 형변환이 이루어 지는 지도 알아 보겟다. C99표준에서 형변환 순서 하나의 피연산자가 long double형 이면 다른 피연산.. 2023. 1. 13.
[C언어]size_t 자료형과 사용할 때 주의점(size_t VS unsigned int) 이번에는 size_t자료형에 대해서 알아보고 size_t와 unsigned int의 차이점은 무엇인지 size_t를 사용할 때 주의할 점을 알아보자. size_t 자료형 헤더를 인클루드해야 사용가능 해당 시스템에서 어떤 객체나 값이 포함할 수 있는 최대 크기의 데이터를 표현하는 타입 부호없는 정수형이지만 실제 데이터형은 아님 _t 를 보다 시피 size_t는 typedef를 이용한 다른 자료형의 별칭 보통 unsigned int를 사용 용도: 배열의 길이나 배열의 인덱스를 나타낼 때 사용 (size_t) -1은 비트패턴에 의해서 size_t 최대값으로 인식된다.( -1의 비트패턴은 1바이트 기준 1111 1111$_{(2)}$이다.) 그렇다면 size_t 자료형을 그냥 unsigned int로 사용하면 .. 2023. 1. 12.
[C언어]#include 의미 / 자료형 정리 #include 의미 1. 다른 파일에 구현된 함수나 변수를 사용할 수 있게 해준다. 2. #include 는 전처리기 지시문 중 하나 3. #include 는 컴파일 전에 텍스트를 복붙해주는 역할을 함 #include 가 작동되는 과정을 stdio.h 헤더파일이 hello.c로 include되는 과정을 예시로 설명하겠다. #include int main(void) { /* 코드 생략 */ } hello.c /* 코드생략1 */ /* 코드생략2 */ stdio.h /* #include 내용 교체 */ /* 코드생략1 */ /* 코드생략2 */ int main(void) { /* 코드생략 */ } hello.c 과정 ① 전처리기가 컴파일 전에 include를 발견 -> stdio.h 파일을 엶 -> std.. 2023. 1. 9.
[C언어]Clang 컴파일 시 newline-eof오류 해결법/ CMD cd 명령어 처음은 아니지만 아주 가끔씩 C언어 컴파일 후 실행할 때 사용해봤지만 이제는 거의 계속 사용해야 할 커맨드라인!! 매번 CMD를 열면 위치변경을 하는 커맨드 cd 는 알지만 그 이후에 명령어를 몰라서 인터넷으로 찾아보았다. 이제는 안 보고도 할 수 있게 반복해서 학습해야지 CMD cd명령어 1. cd/ (최상위 폴더로 이동) 2. D: (D드라이브로 이동) 3. cd Folder\Folder1 (Folder안에 있는 Folder1로 이동) (+ Folder\Folder1\Folder2 처럼 계속해서 작성 가능) 4. cd.. (상위 폴더로 이동) 자주 쓰는 명령어들 잘 알아 두자! 그리고 컴파일하다가 나타난 오류!! error: no newline at end of file [-Werror,-Wnewli.. 2023. 1. 3.