仅供自己参考:输入自定义大小的数组
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void x(int ** a, int n)//申请内存
{
*a = (int*)malloc(sizeof(int)*n);
if (*a == NULL)
{
printf("申请失败\n");
return;
}
}
void s(int *a, int n)//给数组赋值
{
int i;
printf("请给%d个元素赋值\n", n);
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
}
void c(int *a, int n)//输出数组
{
int i;
for (i = 0; i < n; i++)
printf("%d", a[i]);
}
void main()
{
int n=0;
printf("输入数组个数\n");
scanf("%d", &n);
int *a = NULL;
x(&a, n);//申请内存
s(a, n);//给数组赋值
printf("输入的数组为:\n");
c(a, n);//输出数组
system("pause");
return EXIT_SUCCESS;
}
申请内存函数为什么要两个*,调用申请该函数为什么是用&a