C動態(tài)分配內(nèi)存


例題:開辟int類型空間,賦值為20并輸出

//
// Created by linux on 4/22/24.
//
#include <stdio.h>
#include <stdlib.h>  //動態(tài)分配堆內(nèi)存需要導(dǎo)入
//動態(tài)分配內(nèi)存
int main() {
    int *p1=NULL;
    p1=(int *) malloc(sizeof(int));
    if(p1==NULL){
        printf("malloc error \n");
        return -1;
    }
    //分配成功
    *p1=20;
    printf("Value of *p1: %d\n", *p1);
    //分配結(jié)束后記得釋放,否則會長時間占用堆內(nèi)存 ,生命周期直到你手動free釋放
    free(p1);
    p1=NULL;  //釋放內(nèi)存之后記得賦值NULL 空指針
    return 0;
}

例題:開辟字符類型空間,賦值為B并輸出

當(dāng)然!下面是一個為字符動態(tài)分配內(nèi)存并為其分配值“B”,然后打印該字符的示例:

#include <stdio.h>
#include <stdlib.h>

int main() {
    char *char_ptr = (char *)malloc(sizeof(char)); // Allocate memory for a character
    
    if (char_ptr == NULL) {
        printf("malloc error\n");
        return -1;
    }
    
    *char_ptr = 'B'; // Assign the character 'B' to the allocated memory
    
    printf("Value of *char_ptr: %c\n", *char_ptr); // Print the character
    
    free(char_ptr); // Free the allocated memory
    
    char_ptr = NULL; // Set the pointer to NULL
    
    return 0;
}

此代碼動態(tài)為字符分配內(nèi)存,為其分配“B”,打印該字符,釋放分配的內(nèi)存,并將指針設(shè)置為 NULL。


include <stdlib.h>的作用:

<stdlib.h>是C標準庫中的頭文件。它代表“標準庫”,提供多種通用函數(shù),包括內(nèi)存分配、進程控制、轉(zhuǎn)換等。

以下是 提供的一些常用函數(shù)和類型<stdlib.h>

  1. 內(nèi)存分配函數(shù)

    • malloc():動態(tài)分配內(nèi)存。
    • calloc():為數(shù)組分配內(nèi)存并將其所有位初始化為零。
    • realloc():更改先前分配的內(nèi)存塊的大小。
    • free():釋放動態(tài)分配的內(nèi)存。
  2. 退出功能

    • exit():終止調(diào)用過程。
    • abort():導(dǎo)致程序異常終止。
  3. 偽隨機數(shù)生成器

    • rand():生成偽隨機數(shù)。
    • srand():為隨機數(shù)生成器播種。
  4. 環(huán)境功能

    • system():執(zhí)行由字符串指定的命令。
  5. 字符串到數(shù)字的轉(zhuǎn)換

    • atoi()、atol()、atoll():分別將字符串轉(zhuǎn)換為整數(shù)、長整型或長長整型。
    • atof():將字符串轉(zhuǎn)換為浮點數(shù)。

還有許多其他人。

<stdlib.h>是 C 編程中必不可少的頭文件,提供內(nèi)存管理、處理程序終止和生成隨機數(shù)等任務(wù)的函數(shù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容