malloc

    2

    5답변

    취업 인터뷰 중 친구에게 사용 가능한 RAM 양을 측정하는 프로그램을 작성하라는 요청을 받았습니다. 예상되는 대답은 이진 검색 방식으로 malloc()을 사용했습니다. 즉, 실패 메시지를받을 때까지 크고 큰 부분의 메모리를 할당하고, 부분 크기를 줄이며, 할당 된 메모리 양을 합산하는 것입니다. 이 방법은 실제 메모리가 아닌 가상 메모리의 양을 측정합니다.

    4

    5답변

    문자열을 연결하고 결합 된 문자열을 반환하는 작은 함수를 만들었습니다. 그러나 함수에서 세 번째 변수에 메모리를 할당 했으므로 함수가 완료되면 메모리를 해제 할 것인가 아니면 나중에 메모리를 확보해야 할 것인가? 그리고 그것을 해제해야한다면, 가장 세련된 솔루션은 무엇일까요? 다음은 테스트 코드입니다. 그것은 작동하지만 메모리가 해제되었는지 또는 내 도구로

    0

    1답변

    는, I는 다음과 문제가 발생 : malloc.c 파일 : 3074 : sYSMALLOc 어설 (old_top == (((mbinptr) (((숯 *) & ((AV) -> 빈 [((1) - 1) * 2)) - __builtin_offsetof (구조체 malloc_chunk, FD)))) & & old_size는 == 0) || ((긴 부호) (old_si

    2

    4답변

    C에서 리턴 값을 절대 쓰지 않는 것이 가장 좋습니다. malloc(). 나는 컴파일러가 stdlib.h을 포함하지 않으면 malloc()이 int를 반환한다고 가정합니다. 물론 int가 아닌 int에 int를 할당하려고 시도하면 오류가 발생하지만 명시 적 캐스팅으로 그 오류를 덮을 수 있으므로 malloc()을 명시 적으로 캐스팅 할 위험이 있습니다. 내

    2

    6답변

    내가 컴파일하고 다음 코드를 실행합니다 int *a = malloc(1024*1024*100*sizeof(int)); while(1) ; (Cygwin에서의 GCC를 사용하여) Windows XP에서 작업 관리자에 따라 2232K로이 프로세스에 의해 메모리 사용, 을 보여줍니다 내게는 약 400000K가되어야한다. 내가 컴파일하고 다음 코드를 실행

    3

    4답변

    나는이 같은 구조체를 사용하고 있습니다 : define struct _Fragment{ int a; char *seq; }Fragment; 내가 구조체를 초기화 할과의 malloc을 사용하여() 메소드는 다음 나는이 프로그램을 사용하는 것과이 Fragment *frag=malloc(10*sizeof(Fragment)); 같은 동적

    5

    5답변

    내 프로그램이이 (main.c를)과 같다 : #include <stdlib.h> #include <stdio.h> void main(){ char *first="hello "; char *second="world!"; char *seq=(char *)malloc((strlen(first)+1)*sizeof(char));

    3

    8답변

    할당 한 메모리에 대한 포인터 만 포함하는 구조체가 있습니다. 재귀 적으로 각 요소를 자유롭게 호출하는 대신 포인터 인 각 요소를 해제하는 방법이 있습니까? model* mdl = malloc (...); mdl->vertices = malloc (...); mdl->normals = malloc (...); mdl->uv_coords = malloc

    0

    7답변

    아래의 코드 스 니펫이 있는데 동적 할당 인 'str'에서 할당하는 동안 충돌이 발생합니다. char *str; int file_size; FILE *fptr; if (!(fptr = fopen(filename, "r"))) goto error1; if ((fseek(fptr, 0L, SEEK_END) != 0)) got

    1

    5답변

    함수를 통해 데이터를 할당하는 방법을 알고, 함수가 반환 된 후에도 데이터가 할당됩니다. 이것은 기본 유형 (int, char **) 및 사용자 정의 유형 모두에 대한 것입니다. 다음은 두 가지 코드 스 니펫입니다. 할당이 반환 된 후에도 둘 다 함수 내에 할당됩니다. int* nCheck = NULL; int nCount = 4; CallIntAll