下面这个版本的allocateArray
函数传递了一个数组指针、数组的长度和用来初始化数组元素的值。返回指针只是为了方便。这个版本的函数不会分配内存,但后面的版本会分配:
int* allocateArray(int *arr, int size, int value) {
if(arr != NULL) {
for(int i=0; i<size; i++) {
arr[i] = value;
}
}
return arr;
}
将指针传递给函数时,使用之前先判断它是否为空是个好习惯。
该函数可以像这样调用:
int* vector = (int*)malloc(5 * sizeof(int));
allocateArray(vector,5,45);
如果指针是NULL
,那么什么都不会发生,程序继续执行,不会非正常终止。