#include <stdio.h>
#include <stdlib.h>
//大陸地區
//stack —>棧
//heap —>堆
void InitPointer(int *ptr,int len,int default_value){ //動態記憶體的指標,動態記憶體長度,初始值
for(int i=0;i<len;i++){
ptr[i]=default_value;
}
}
int main(){
//動態記憶體分配(動態陣列)—>會配置在heap(堆)區—>不會被銷毀—>程序員自行管理
//使用malloc(size_t)方法配置 動態型記憶體(生命週期開始)
int num;
scanf("%d",&num);
//配置num個int大小的動態記憶體(以指標型態呈現)
int *players=malloc(sizeof(int)*num);
//malloc配置的動態記憶體是不會被初始化的,要自己做初始化
InitPointer(players,num,0);
//賦值
// for(int i=0;i<num;i++){
// players[i]=i+1;
// }
//驗證
for(int j=0;j<num;j++){
printf("%d ",players[j]);
}
//使用free(指標)--->釋放記憶體(生命週期結束)
free(players);
return 0;
執行結果: