Malloc () -funktionen i C ++ tildeler en blok med ikke-initialiseret hukommelse og returnerer en ugyldig markør til den første byte i den tildelte hukommelsesblok, hvis tildelingen lykkes.
Malloc () -funktionen i C ++ tildeler en blok med ikke-initialiseret hukommelse og returnerer en ugyldig markør til den første byte i den tildelte hukommelsesblok, hvis tildelingen lykkes.
Hvis størrelsen er nul, afhænger den returnerede værdi af implementeringen af biblioteket. Det kan eller ikke være en nul pointer.
malloc () prototype
ugyldigt * malloc (størrelse_t størrelse);
Denne funktion er defineret i headerfilen.
malloc () Parametre
- størrelse: En usigneret integreret værdi, der repræsenterer hukommelsesblokken i byte.
malloc () Returværdi
Funktionen malloc () returnerer:
- en markør til den ikke-initialiserede hukommelsesblok allokeret af funktionen.
- null pointer, hvis tildelingen mislykkes.
Eksempel 1: Hvordan fungerer malloc () -funktionen?
#include #include using namespace std; int main() ( int *ptr; ptr = (int*) malloc(5*sizeof(int)); if(!ptr) ( cout << "Memory Allocation Failed"; exit(1); ) cout << "Initializing values… " << endl << endl; for (int i=0; i<5; i++) ( ptr(i) = i*2+1; ) cout << "Initialized values" << endl; for (int i=0; i<5; i++) ( /* ptr(i) and *(ptr+i) can be used interchangeably */ cout << *(ptr+i) << endl; ) free(ptr); return 0; )
Når du kører programmet, vil output være:
Initialisering af værdier … Initialiserede værdier 1 3 5 7 9
Eksempel 2: funktion malloc () med størrelse nul
#include #include using namespace std; int main() ( int *ptr = (int*) malloc(0); if(ptr==NULL) ( cout << "Null pointer"; ) else ( cout << "Address = " << ptr << endl; ) free(ptr); return 0; )
Når du kører programmet, vil output være:
Adresse = 0x371530