2018/05 15

sizeof는 함수? 연산자?

sizeof는 함수? 연산자?C에서 sizeof는 함수로 착각하기 쉽지만 연산자로 불린다.sizeof는 다음과 같은 내용에서 함수(function)와 차이가 있다.type을 피연산자로 받을 수 있음 sizeof(int)괄호가 불필요 함 printf("%d\n", sizeof a);주소 출력이 안됨 printf("%p", sizeof);런타임 단계에서 실행되지 않음. sizeof a++ 은 a를 수정 하지 않음sizeof의 피연산자는 void 또는 함수 타입을 제외한 모든 타입을 받을 수 있음 참조https://stackoverflow.com/questions/1393582/why-is-sizeof-considered-an-operator

아카이빙/C, C++ 2018.05.26

[C/C++] define, NULL, sizeof 헷갈리는 예시들

[C/C++] define, NULL, sizeof 헷갈리는 예시들 예시1)#define A 12345 #define B 12345678910111213 ​ int main(){ printf("%d %d", sizeof(A), sieof(B)); return 0; }define 전처리기로 상수를 정의할 때, 형변환이 자동으로 되는지 궁금했음.결과는 4, 8로 자동 형변환이 된다고 생각하면 될 듯.다음과 접미사를 통해 명시적으로 타입을 선언할 수 있다.U, LL 등도 가능함.#define var1 10i8 // char '2' #define var2 10ui8 // unsigned char ​ #define var3 10i166 // short #define var4 10ui16 // unsigned sh..

아카이빙/C, C++ 2018.05.24

정렬된 두 배열을 병합하기

정렬된 두 배열을 병합하기문제정렬된 두 배열을 한 배열에 병합하는 알고리즘을 구현해보자.arr1은 arr2를 포함할 충분한 공간이 있음. 예시Input : arr1[20] = {1, 5, 9, 10, 15, 20}; arr2[10] = {2, 3, 8, 13}; Output : arr1[20] = {1, 2, 3, 5, 8, 9, 10, 13, 15, 20}; null값을 제외한 배열의 길이 구하기int arrlen(int arr[], int left, int right) { int mid = (left + right) / 2; if (arr[mid] == NULL) { if (mid == 0) { return 0; }else if (mid && arr[mid - 1] != NULL) { return m..

아카이빙 2018.05.24