当前位置: 代码迷 >> C语言 >> 怎样才能使每次在调用函数中函数内开辟的空间地址不同
  详细解决方案

怎样才能使每次在调用函数中函数内开辟的空间地址不同

热度:111   发布时间:2007-10-23 18:43:42.0
怎样才能使每次在调用函数中函数内开辟的空间地址不同

struct banker *p2,*p1;

int i,j;
p2=head;
while(p2->next!=NULL)
{
p2=p2->next;
}
p1=p2->next;
j=p2->accounts+1;
p1=(struct banker *)malloc(LEN);

p1->accounts=j;
printf("input your name:");
scanf("%s",p1->name);
do{printf("\ninput your password:");
scanf("%d",&p1->password);
printf("\ninput your password again:");
scanf("%d",&i);
if(i!=p1->password)
printf("input your password erorr");
else
printf("creat password succeed");
}while(i!=p1->password);
printf("input your money:");
scanf("%f",&p1->money);
p2->next=p1;
p1->next=NULL;
printf("opening an account is succeed");
大家看看,我这个函数的作用是给一个链表的结尾再添个节点,但每次P1开辟空间的地址都是一样的,那怎么办?

[此贴子已经被作者于2007-10-23 18:46:39编辑过]

搜索更多相关的解决方案: 函数  password  空间  printf  

----------------解决方案--------------------------------------------------------
我9点半回来看看大家的意见,上课去了
----------------解决方案--------------------------------------------------------

地址一样有什么关系吗?如果你非要不一样的话,就先申请一个空间,然后不要用,再申请一个,再把最先申请的释放掉,不过,这样有意义吗?


----------------解决方案--------------------------------------------------------
不会吧?
----------------解决方案--------------------------------------------------------
动态申请内存,应该不会!!!!
----------------解决方案--------------------------------------------------------

我的意思是我申请的地址是我链表中已经占用了的地址,一申请就把原来链表中某个节点的内容改变了。



----------------解决方案--------------------------------------------------------

不会出现这种情况的 啊


----------------解决方案--------------------------------------------------------
  相关解决方案