我想用指针得到一个可变大小的数组?

来源:百度知道 编辑:UC知道 时间:2024/09/24 06:31:20
我在学指针,想用指针根据用户输入的n来产生一个n*n的数组 高手请支招!!!

/*可以使用动态分配内存得到。
学C语言模仿很重要,下面的程序仅供参考,一定要自己思考,这样才有提高的*/

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<malloc.h>
#define OK 1
#define ERROR 0
#define Status int
typedef struct Array
{
int data;
struct Array *next;
}Array,*Link;
Link ARR;
Status CreateArray()
{
int n,i;
Link p,q;
ARR=(Link)malloc(sizeof(Array));
printf("输入n的值\n");
scanf("%d",&n);
q=ARR;
ARR->data=n*n;
ARR->next=NULL;
printf("输入元素\n");
for(i=1;i<=n*n;i++)
{
p=(Link)malloc(sizeof(Array));
scanf("%d",&p->data);
q->next=p;
p->next=NULL;
q=p;
}
return OK;
}

void OutArray()
{
Link p;
int n=0;
p=ARR->next;
printf("数组为\n");
while(p!=NULL)
{
prin