【お知らせ】この部分は英語原文のみでの提供となります。何卒ご了承ください。
2.1.19.11 malloc
Contents
Description
Allocates a certain number of bytes on heap.
Syntax
void * malloc( size_t nBytes )
Parameters
- nBytes
- [input] Bytes to allocate. Specifiable maximum number for size_t is (32bit: 4294967295(=2^32-1); 64bit: 9223372036854775807(=2^63-1)).Make sure there are enough memory.
Return
Returns a void pointer to the allocated space, or NULL if there is insufficient memory available.
Examples
EX1
// This is a self contained sample program for the function malloc, // To run the program, enter the following command in the Script window: // malloc_ex1 // If this runs successfully, the following meassage will be printed: // Memory allocation of 200 bytes succeeded. // void malloc_ex1() { char *pstr; size_t nBytes = 200; pstr = (char*)malloc(nBytes); // Demonstration of malloc if (pstr != NULL) { strcpy(pstr,"succeeded"); printf("Allocating %u bytes of memory %s.\n",nBytes,pstr); free(pstr); // free the allocated memory: } else printf("Memory allocation of %u bytes failed. Insufficient memory.\n",nBytes); }
EX2
// This is a self contained sample program for the function malloc, // To run the program, enter the following command in the Script window: // malloc_ex2 // If this failed to run, the following error meassage will be printed: // Memory allocation of 8589934591 bytes failed. Insufficient memory. // Marke sure run in 64 bit and there are enough memory. void malloc_ex2() { char *pstr; size_t nBytes = 0x00000001FFFFFFFFui64; // 8589934591 pstr = (char*)malloc(nBytes); // Demonstration of malloc if (pstr != NULL) { strcpy(pstr,"succeeded"); printf("Allocating %I64u bytes of memory %s.\n",nBytes,pstr); free(pstr); // free the allocated memory: } else printf("Memory allocation of %I64u bytes failed. Insufficient memory.\n",nBytes); }
Remark
Allocates a certain number of bytes on heap.
See Also
Header to Include
origin.h