<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                引言:數組的元素存儲于內存中連續的位置上。當一個數組被聲明時,它所需要的內存在編譯時就被分配。但是,我們可以使用動態內存分配在運行時為它分配內存。 一塊內存的生命周期可以分為四個階段:分配、初始化、使用、釋放。 內存的分配一般使用C函數庫里的malloc函數(原型:void *malloc(size_t size))。關于malloc函數應該注意一下幾點: 1、malloc的參數就是需要分配的內存的字節數。 2、malloc所分配的是一塊連續的內存。 3、分配成功,則返回指向分配內存起始地址的指針。分配失敗,返回NULL指針。 4、對每個malloc返回的指針都進行檢查,是好的習慣。 內存的初始化一般要在使用之前手動進行,也可以在分配時由calloc函數一同完成:將分配內存初始化為0。使用就是使用分配所返回的指向內存的指針。 釋放內存是為了防止內存泄露,一般使用free函數(原型:void free(void *pointer))完成。它的參數必須是先前從malloc、calloc或realloc返回的值。向free傳遞一個NULL參數不會產生任何效果。向free傳遞其他參數會出錯。 **注意:常見的動態內存錯誤有以下幾種** 1、忘記對NULL指針進行解引用操作,即忘記對分配返回的值做判斷。 2、對分配的內存進行操作時越過邊界。 3、釋放并非動態分配的內存,傳遞給free的必須是一個從malloc、calloc或realloc返回的指針。 4、試圖釋放一塊動態分配的內存的一部分。 5、一塊動態內存被釋放后被繼續使用。 使用動態內存的編程總結: 1、動態內存分配有助于消除程序內部存在的限制。 2、使用sizeof計算數據類型的長度,調高程序的可移植性。 補充:calloc和realloc函數 void *calloc(size_t nmemb, size_t size); void *realloc(void *ptr, size_t size); calloc與malloc的區別一是前者返回指向內存的指針之前把它初始化為0.二是calloc的參數包括所需元素的數量和每個元素的字節數。根據這些值,能夠計算出總共需要分配的內存。 realloc函數用于修改一個原先已經分配的內存卡的大小。使用該函數,可以使一塊內存擴大或縮小。如果原先的內存卡無法改變大小,realloc將分配另一塊正確大小的內存,并把原先那塊內存的內容復制到新的塊上。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看