#include #include int *create_int_arr(int n) { // 申请内存空间 int *arr = (int *)malloc(n * sizeof(int)); // 条件判断时,常量放在前面,变量放在后面 if (NULL == arr) { // printf("malloc error\n"); perror("malloc error"); // 打印错误信息, perror 会打印出错误信息 return NULL; // 返回空指针 } perror("malloc success"); // 打印成功信息 return arr; // 返回数组首地址 } void input_int_data(int *q, int n) { int temp = n; // 输入数据 while (n--) { printf("请输入第%d个数据:", temp - n); scanf("%d", q++); } } void print_data(int *q, int n) { // 打印数据 while (n--) printf("%d ", *q++); printf("\n"); } int main() { int *p = NULL; // NULL == 0,用来表示指针指向的内存空间不存在 p = create_int_arr(10); input_int_data(p, 10); print_data(p, 10); free(p); // 释放内存空间 return 0; }