반응형 malloc2 C언어 - 동적 메모리 할당 보통 배열의 크기를 컴파일 전에 선언해 두고 사용합니다. 가장 많이 사용하는 방법으로 보통 '정적 메모리 할당'이라고 합니다. 이 경우에는 미리 선언해 두고 해제할 필요가 없다는 장점이 있지만 반대로 미리 선언했기 때문에 비효율적일 수도 있습니다. 예를 들어 100의 크기의 배열을 선언했지만 막상 필요한 크기는 20이 되면 80은 낭비가 됩니다. 그래서 '동적 메모리 할당'을 이용해서 적절하게 메모리를 관리해야 할 경우가 발생합니다. 먼저 동적 메모리 할당을 하기 위해서는 새롭게 라이브러리를 추가해야 합니다. #include 이제 동적 메모리 할당에 필요한 함수에 대해 알아보겠습니다. malloc() void *malloc(size_t _Size); 인자로 전달받은 크기만큼의 메모리를 할당합니다. voi.. 공부 자료실/C언어 2020. 8. 7. C언어 - 문자열과 포인터 문자열은 포인터 변수로 굉장히 많이 사용합니다. 일반적은 문자 배열과 다른 면을 비교해보겠습니다. *리터럴(literal)이란 변하지않는 데이터를 뜻합니다. 프로그램이 실행돼도 정대 변하지 않습니다. ex) int a=1; 에서 1이 리터럴입니다. 리터럴도 결국에는 메모리를 사용합니다. 포인터 변수는 메모리의 주소값을 저장하는 방식의 변수입니다. char *st = "안녕하세요"; 포인터는 선언과 초기화를 동시에도 하지만 char *st2; st2 = "어서오세요"; 선언 후 나중에 대입이 가능합니다. 변수처럼 값을 변경하는게 아닌 포인터 변수는 주소를 변경한다는 의미라 중간에 새롭게 리터럴(literal) 문자열을 대입할 수 있습니다. 포인터 변수에 저장된 리터럴 문자열은 읽기전용입니다. 그렇기 때문에.. 공부 자료실/C언어 2020. 6. 29. 이전 1 다음 반응형