«malloc» 태그된 질문

malloc 함수는 C에서 동적 메모리 할당을 수행하며 표준 라이브러리의 일부입니다. malloc의 사용, 동작 및 구현에 대한 질문에이 태그를 사용하십시오.

28
malloc의 결과를 캐스트합니까?
에서 이 질문에 , 누군가가에서 제안 코멘트 내가해야 하지 의 결과 캐스트 malloc, 즉 int *sieve = malloc(sizeof(int) * length); 오히려 int *sieve = (int *) malloc(sizeof(int) * length); 왜 이런 경우입니까?
2407 c  malloc  casting 

13
malloc과 calloc의 차이점은 무엇입니까?
수행의 차이점은 무엇입니까? ptr = (char **) malloc (MAXELEMS * sizeof(char *)); 또는: ptr = (char **) calloc (MAXELEMS, sizeof(char*)); malloc 대신 calloc을 사용하거나 그 반대로 사용하는 것이 좋은 생각은 언제입니까?
780 c  malloc  calloc 

17
malloc 후에 해방되지 않으면 어떻게 되나요?
이것은 오랫동안 나를 귀찮게했던 것입니다. 우리는 모두 학교에서 (적어도 나는) 배운 모든 포인터를 자유롭게해야한다는 것을 배웁니다. 그래도 메모리를 해제하지 않는 실제 비용에 대해서는 약간 궁금합니다. malloc루프 나 스레드 실행의 일부에서 호출 될 때와 같이 명백한 경우 에는 메모리 누수가 없도록 해제하는 것이 매우 중요합니다. 그러나 다음 두 가지 예를 고려하십시오. …
538 c  malloc  free 

19
어떤 경우에 malloc 및 / 또는 new를 사용합니까?
C ++에는 데이터를 할당하고 해제하는 여러 가지 방법이 있으며 전화를 걸면 이해합니다. malloc 를 걸고 연산자를 free사용할 때 new페어링해야 delete하며 두 가지를 혼합하는 것은 실수라는 것을 이해합니다 (예 : free()생성 된 무언가에 대한 호출) 와 new) 연산자,하지만 난 사용해야하는 경우에 명확하지 않다 malloc/ free내가 사용해야 할 때 new/ delete내 실제 …

25
alloca () 사용이 왜 좋은 습관으로 간주되지 않습니까?
alloca()의 경우와 같이 힙이 아닌 스택에 메모리를 할당합니다 malloc(). 그래서 루틴에서 돌아올 때 메모리가 해제됩니다. 따라서 실제로 이것은 동적으로 할당 된 메모리를 확보하는 문제를 해결합니다. 할당 된 메모리를 확보 malloc()하는 것은 심각한 골치 거리이며, 놓친 경우 모든 종류의 메모리 문제를 일으 킵니다. alloca()위의 기능에도 불구하고 사용이 권장되지 않는 이유는 무엇 …
400 c  stack  malloc  allocation  alloca 

13
malloc () 및 free ()는 어떻게 작동합니까?
방법 malloc과 free작업 을 알고 싶습니다 . int main() { unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char)); memset(p,0,4); strcpy((char*)p,"abcdabcd"); // **deliberately storing 8bytes** cout << p; free(p); // Obvious Crash, but I need how it works and why crash. cout << p; return 0; } 가능한 경우 대답이 메모리 수준에서 …

3
malloc + memset이 calloc보다 느린 이유는 무엇입니까?
할당 된 메모리를 초기화한다는 점과 calloc는 다른 것으로 알려져 malloc있습니다. 을 사용 calloc하면 메모리가 0으로 설정됩니다. 를 사용 malloc하면 메모리가 지워지지 않습니다. 그래서 일상적인 작업에서는 +로 간주 calloc됩니다 . 덧붙여서, 재미로, 벤치 마크를 위해 다음 코드를 작성했습니다.mallocmemset 결과는 혼란 스럽다. 코드 1 : #include<stdio.h> #include<stdlib.h> #define BLOCK_SIZE 1024*1024*256 int main() …
256 c  malloc 


1
“C 프로그래밍 언어”책에서 malloc을 캐스팅해야한다고 왜 말합니까?
오늘은 페이지에 도달 167 의 언어 (2 판 브라이언 W. 커니 핸 & 데니스 M. 리치를) 프로그래밍은 C를 하고 저자가 I 캐스팅해야한다고 발견 malloc. 이 책의 일부는 다음과 같습니다. 7.8.5 스토리지 관리 malloc 및 calloc 함수는 동적으로 메모리 블록을 얻습니다. void *malloc(size_t n) 초기화되지 않은 스토리지의 n 바이트에 대한 포인터를 …

23
해제 후 변수를 NULL로 설정
우리 회사에는 메모리를 비운 후 변수를로 재설정하는 코딩 규칙이 NULL있습니다. 예를 들어 ... void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } 위에 표시된 코드와 같은 경우로 설정하면 NULL아무런 의미가 없다고 생각합니다. 아니면 뭔가 빠졌습니까? 그러한 경우에 의미가 없다면, "품질 팀"에게 맡겨서이 …

5
내장 함수 'malloc'의 호환되지 않는 암시 적 선언
이 오류가 발생합니다. 경고 : 내장 함수 'malloc'의 호환되지 않는 암시 적 선언 나는 이것을하려고합니다 : fileinfo_list* tempList = malloc(sizeof(fileinfo_list)); 참고로 손에 사용되는 구조체는 다음과 같습니다. typedef struct { fileinfo** filedata; size_t nFiles; size_t size; size_t fileblock; } fileinfo_list; 내가 한 일에 아무런 문제가 없습니다. 방금 tempList1 x 크기의를 만들고 …
155 c  struct  malloc 



3
2 차원 배열을 할당하는 이상한 방법?
프로젝트에서 누군가 다음 줄을 썼습니다. double (*e)[n+1] = malloc((n+1) * sizeof(*e)); 이것은 아마도 (n + 1) * (n + 1) double의 2 차원 배열을 생성합니다. 아마 지금까지 내가 물었다 아무도 정확히, 이것은 무엇을 말해 줄 수 없었다 때문에, 나는 말,도 아니다 유래 어디서 왜 작동합니다 (주장, 그것은 않는,하지만 난 아직 …

8
Malloc vs new — 다른 패딩
고성능 컴퓨팅 (10 ^ 5-10 ^ 6 코어)을 위해 MPI를 사용하는 우리 프로젝트에 대해 다른 사람의 C ++ 코드를 검토하고 있습니다. 이 코드는 서로 다른 아키텍처에서 (잠재적으로) 서로 다른 시스템 간의 통신을 허용하기위한 것입니다. 그는 다음과 같은 내용을 설명하는 주석을 작성했습니다. 우리는 일반적으로 newand를 사용 delete하지만 여기서는 mallocand를 사용 free합니다. …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.