C에 있는 기억 장치 할당
C 컴파일러에는 기억 장치 할당 도서관이 있다, malloc.h. 기억에서 malloc 기능을 사용하여 보류하고, 주소에 포인터를 돌려보낸다 정의된. 그것은 1개의 매개변수, 바이트에서 요구된 기억의 크기를 가지고 간다.
뒤에 오는 보기는 할당한다 끈을 위한 공간을, "여보세요 세계".
ptr = (char *)malloc(strlen("Hello world") + 1);
여분 1개의 바이트는 끈 종료 특성, "\ 0"를 고려할 것을 요구된다. (숯 *) 던지기이라고 불리고, 숯이기 위하여 반환 유형을 강제한다 *.
자료 유형에는 다른 크기가 있기 때문에, malloc는 바이트에 있는 공간을 돌려보내는, 할당하기 위하여 크기를 지정할 때 sizeof 통신수를 사용하는 휴대 가능 이유를 위한 좋은 연습 이다.
뒤에 오는 보기는 특성 배열 완충기로 끈을 해석하고 그 후에 할당한다 변하기 쉬운 불린 "ptr"에와 사본 그것 요구된 기억 정확한 양을.
#include <string.h>
#include <malloc.h>
int main()
{
char *ptr, buffer[80];
printf("Enter a string: ");
gets(buffer);
ptr = (char *)malloc((strlen(buffer) + 1) *
sizeof(char));
strcpy(ptr, buffer);
printf("You entered: %s\n", ptr);
return 0;
}
프로그램의 산출은 다음과 같이 일 것이다:
Enter a string: India is the best
You entered: India is the best |
|