C语言中指针的读取问题
void initArray()
{
struct node obj2;
int *Nsize;//新开辟的空间
int Ndata=011;//不满足现有空间的那个元素
obj.size=ADDSIZE;//先分配ADDSIZE(5)个空间大小的数组来存放数据
obj.totalNumber=0;
obj.data=(int*)malloc(obj.size*sizeof(int));//为数组分配内存空间
while(Ndata!=END)
{
printf("请输入数据: ");
scanf("%d", &Ndata);
if(obj.totalNumber==obj.size)
{
Nsize=addSize(obj.size);//新开辟空间
obj2=obj; free(obj2.data);//释放原来内存空间
copyArray(obj,Nsize,obj.totalNumber,Ndata);//拷贝数组
obj.totalNumber++;
}
if (Ndata==END) break;
obj.data[obj.totalNumber]=Ndata;//将新输入的数据放入原来的数组中
//obj.(*data) =Ndata;
//data++;
obj.totalNumber++;
}
obj.totalNumber--;//去掉结束标志
inputEnd();//询问用户接下来的操作
}
这是程序的一部分,运行时能够正常输入数据,但是无法读到data中