46 lines
1.0 KiB
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;
|
|
} |