qfedu-c-level/day11/d1.c

46 lines
1.0 KiB
C

#include <stdio.h>
#include <stdlib.h>
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;
}