Dev/C, C++ 4

C

[ C ] 포인터 변수가 가리키는 문자열 또는 배열의 길이 구하기

일반적인 배열이나 문자열의 길이를 구하는 방법은 다음과 같다. int main(int ac, char const *av[]) { char arr[] = "12345"; printf("arr size : %d\n", sizeof(arr) / sizeof(char)); // 출력결과 // arr size : 6 } 하지만 포인터 변수로 생성한 배열이나 문자열의 크기는 sizeof() 로는 구할 수 없는데, int main(int ac, char const *av[]) { char *a = "123456789"; printf("a : %s\n", a); printf("a size : %d\n", sizeof(a) / sizeof(char)); // 출력 결과 // a : 123456789 // a size :..

Dev/C, C++ 2021.12.26

C

[VSCode / C / C++] VSCode에서 Makefile 사용하기

# 실행환경 : vscode, mingw32 1. 실행할 프로젝트 생성 // hello.h #include void print_hello(); // hello.c #include "hello.h" void print_hello() { printf("Hello!!!\n"); } // main.c #include #include "hello.h" int main() { print_hello(); return 0; } # Makefile CC = gcc CFLAGS = -c -g LDFLAGS = OBJECTS = main.o hello.o run: all program all: program program : $(OBJECTS) $(CC) $(LDFLAGS) -o program $(OBJECTS) main...

Dev/C, C++ 2021.12.17

C

[ C ] char 포인터가 malloc으로 할당된 메모리보다 더 많은 데이터를 저장하는 이유

# 소스코드 #include #include int main(int argc, char const *argv[]) { char *p, *pp, *ppp; p = (char *)malloc(3); pp = (char *)malloc(3); ppp = (char *)malloc(3); printf("in p : "); scanf("%s", p); printf("\nin pp : "); scanf("%s", pp); printf("\nin ppp : "); scanf("%s", ppp); printf("\np : %s", p); printf("\npp : %s", pp); printf("\nppp : %s", ppp); return 0; } char 포인터 변수 p, pp, ppp에 malloc으로 각각 3씩..

Dev/C, C++ 2021.10.18