본문 바로가기

Programming/C2

문자열 입력과 출력 scanf_s, printf, fputs, fgets, _getch() #include int main() { char arr[30] = { 0 }; printf("문자열 입력 : "); scanf_s("%s", arr, 30); printf("%s", arr); return 0; } 입력 : hello wolrd 출력 : hello scanf_s 는 문자열을 공백을 기준으로 입력 받기 때문에 공백이 입력되면 문자열의 끝으로 해석하고 더 이상 읽어들이지 않는다. #include int main() { char arr[30] = { 0 }; printf("문자열 입력 : "); scanf_s("%s", arr, 30); // hello+공백 까지 입력받음 printf("%s", arr); scanf_s("%s", arr, 30); // 입력버퍼에 남아있는 world가 전달 됨.. 2021. 1. 8.
Pointer 포인터는 주소 값을 담는 변수이며 하나의 주소 값은 오른쪽 그림과 같이 1Byte 메모리 공간을 표현한다. 왜 메모리 블럭 하나를 1bit 또는 1KB로 하지 않았을까? 라는 궁금증이 생긴다면 그렇기 정했기 때문에 그렇다. 우리가 1평이 왜 1㎡가 아니라 3.3㎡이냐고 따지지 않는 것처럼 굳이 여기에 대해 타당성을 입증할 필요는 없다. 이 정도면 적당한 크기이기 때문에 그렇게 정하지 않았을까 그렇다면 1bit로 표현할 수 있는 메모리 공간의 크기는 얼마나 될까? 컴퓨터는 bit단위로 계산되기 때문에 1bit로 표현할 수 있는 메모리 공간은 0x0000, 0x0001 이렇게 2Byte가 된다. 그림에서는 0xFFFF 까지 표현했는데 이는 16^4= 65536이므로 64KB를 표현 할 수 있다. "1bit가.. 2020. 11. 29.