<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                動態內存分配 malloc(size_t size); malloc將用戶分配size_t字節個內存并返回內存分配地址,如果分配地址失敗,那么返回0 ``` int*pa=(int*)malloc(4); ``` pa是分配好內存的地址4是要分配的大小 如果內存分配失敗,那么pa=0 if(p==nullptr) { std::cout<<"內存分配失敗"; } ``` void*calloc(size_t count,size_t size); ``` calloc將用戶分配count乘size_t字節個內存并且返回內存分配的地址,如果分配失敗,那么返回0 ``` int*pa=(int*)calloc(1,4) ``` pa是分配好的內存的地址1是要分配元素個數4是要分配的每個個數的大小 如果內存分配失敗,那么pa=0 calloc會將分配好的內存區域設置為0 ``` free(p); frpp(pm); ``` C++內存分配 數據類型*指針變量名稱=new 數據類型; ``` int*pa=new int; ``` 數據類型*指針變量名稱=new數據類型【數量】; ``` int*pa=new int[5];//分配一段能夠存放5個int變量的內存空間 ``` *分配失敗pa返回0 ## calloc方法 ``` int main() { unsigned x; std::cout << "分配內存空間"; std::cin >> x; int* p{}; p = (int*)calloc(x, sizeof(int)); //int*p = (int*)malloc(x * sizeof(int)); if (p == 0) { std::cout << "內存分配失敗"; } p[0] = 500; p[1] = 600; p[2] = p[0] * p[1]; std::cout << p[0] << " " << p[1] << " " << p[2]; } ``` ## malloc方法 ``` int main() { unsigned x; std::cout << "分配內存空間"; std::cin >> x; //int* p{}; //p = (int*)calloc(x, sizeof(int)); int*p = (int*)malloc(x * sizeof(int)); if (p == 0) { std::cout << "內存分配失敗"; } p[0] = 500; p[1] = 600; p[2] = p[0] * p[1]; std::cout << p[0] << " " << p[1] << " " << p[2]; } ``` ## malloc方法與 calloc方法區別 calloc可以自動把沒打掃的內存自動清零,但是運行效率低。 ## realloc重新分配 ``` void*realloc(void*_ Block,size_t_Size); ``` realloc將用戶重新分配內存,_Block是用戶已經分配號的內存,Size是要重新分配大大小,函數返回重新分配后的內存。 代碼如下: ``` int main() { unsigned x; std::cout << "分配內存空間"; std::cin >> x; int* p{}; p = (int*)calloc(x, sizeof(int)); //int*p = (int*)malloc(x * sizeof(int)); if (p == 0) { std::cout << "內存分配失敗"; } p[0] = 500; p[1] = 600; p[2] = p[0] * p[1]; std::cout << p[0] << " " << p[1] << " " << p[2]; std::cout << "請輸入重新分配的內存大小"; std::cin >> x; p = (int*)realloc(p, x); std::cout << p[0] << " " << p[1] << " " << p[2]; free(p); } ``` ## 釋放內存 ## void free(void*-Block); free(p指針); //釋放地址 # C++內存分配 C++內存分配 ## 數據類型*指針變量名稱=new 數據類型; ## 配套的釋放內存方式為delete方法 ``` int*pa=new int; ``` 數據類型*指針變量名稱=new數據類型【數量】; ``` int*pa=new int[5];//分配一段能夠存放5個int變量的內存空間 ``` *分配失敗pa返回0 delete 釋放內存 如果用new int[5] 釋放內存就是 delete [ ] p ### 代碼如下: ``` int main() { unsigned x; std::cout << "分配內存空間"; std::cin >> x; int* p{}; p = new int[5]; //分配5個 *p = 500; p[0] = 5000; p[1] = 1000; p[2] = p[0] + p[1]; std::cout << p[0] << " " << p[1] << " " << p[2]; ```
                  <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>

                              哎呀哎呀视频在线观看