<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 分別在堆上和棧上分配空間 ![](https://box.kancloud.cn/5e56c69aba49f60a2060623f9a11429b_1399x643.png) ~~~ #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib.h> void printArray(int **arr,int len) { for (int i = 0; i < len; ++i) { printf("%d ",*arr[i]); } } void test01() { //堆上分配指針數組 int **pArray = malloc(sizeof(int *)* 6); //棧上分配數據空間 int a1 = 100; int a2 = 200; int a3 = 300; int a4 = 400; int a5 = 500; int a6 = 600; #if 0 pArray[0] = &a1; pArray[1] = &a2; pArray[2] = &a3; pArray[3] = &a4; pArray[4] = &a5; pArray[5] = &a6; #endif *(pArray + 0) = &a1; *(pArray + 1) = &a2; *(pArray + 2) = &a3; *(pArray + 3) = &a4; *(pArray + 4) = &a5; *(pArray + 5) = &a6; printArray(pArray, 6); //釋放數組內存 if (pArray != NULL) { free(pArray); pArray = NULL; } } void test02() { int* pArray[5]; for (int i = 0; i < 5; ++i) { //一個個申請 pArray[i] = malloc(4); *(pArray[i]) = 100 + i; } printArray(pArray, 5); //釋放堆內存 for (int i = 0; i < 5; ++i) { if (pArray[i] != NULL) { //要一個個釋放 free(pArray[i]); pArray[i] = NULL; } } } int main(){ //test01(); test02(); system("pause"); return EXIT_SUCCESS; } ~~~ # 二級指針做函數參考 ~~~ #include <iostream> #include <stddef.h> #include <stdlib.h> #include <stdio.h> #include <string.h> void allocateSpace(int **temp) { int *arr = (int *)malloc(sizeof(int) * 10); for (int i = 0; i < 10; ++i) { arr[i] = i + 1; } //指針間接賦值 *temp = arr; } void printArray(int *arr, int len) { for (int i = 0; i < len; ++i) { printf("%d ", arr[i]); } } void freeSpace(int **arr) { if (arr == NULL) { return ; } if (*arr != NULL) { free(*arr); *arr = NULL; arr = NULL; } } void test01() { int *pArray = NULL; allocateSpace(&pArray); printArray(pArray, 10); freeSpace(&pArray); if (pArray == NULL) { printf("\npArray被置空"); } } int main() { test01(); getchar(); return 0; } ~~~
                  <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>

                              哎呀哎呀视频在线观看