程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 數組指針-關於一個數組的指針,求解釋呀

數組指針-關於一個數組的指針,求解釋呀

編輯:編程綜合問答
關於一個數組的指針,求解釋呀

// 使用指針從函數返回一個數組
// paf是一個函數,它返回一個指針,該指針指向一個包含20個int元素的數組
int (*paf())[20]
{
int (*pear)[20];
int i = 0;

pear = (int (*)[20])malloc(20 * sizeof(int));
printf("Malloc memory, Address: ");
PRINT_ADDRESS(pear); // 打印所分配內存的地址

if (!pear)
{
    printf("malloc failed!/n");
}

// 初始化數據
for (i = 0; i < 20; i++)
{
    (*pear)[i] = i;
}

return pear;

}

如上代碼:為何pear返回以後不會失效?????

最佳回答:


上述代碼中 pear 指向的內存是通過 malloc 從堆中分配的,函數結束後,分配的內存不會被釋放。
malloc 分配的內存要用 free 釋放。不你說的知道“失效”是不是這個意思。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved