好久都沒用C語言了,隨便整整結果就出錯了(不太容易發現的錯誤),很多初學者容易忽略的問題
#include<stdio.h>
#include<stdlib.h>
voidTest(int *pArr,intcount);
voidmain()
{
int A[10]={0};
for (inti=0; i<10; i++)
{
A[i] =i+1; }
Test(A, 10);
for(i=0; i<10; i++)
{
printf("%3d",A[i], 10); }
}
voidTest(int *pArr,intcount)
{ pArr = (int *)malloc(sizeof(int)*10);
for(inti=0; i<count; i++)
{ printf("%4d",*pArr++);}
}
危險!!(只分配未釋放,內存會被耗盡的)總結:
*動態存儲空間最多是用於字符串的操作。
*malloc一般和strlen()相結合使用。
*malloc一定要和free匹配出現,一一對應!
*不能學尼采,“尼采曾經自詡是太陽,指給予,不取得”,我們內存分配完必須記得釋放!!!