typedef struct
{
int ab;
char bc[10];
}acc1;
typedef struct
{
char p[10];
acc1 *p1;
}acc2;
acc2 a1[2];
main()
{
fun(&a1[0]);//these two function may be called simultaneously or proceduraly(in my program)
fun(&a1[1]); //
}
fun(acc2 *abc)
{
abc->ab=12;
fun1();
fun2();
}
这是一个示例代码,在主程序中我调用fun()并且我传递了结构数组a1 [0],fun()需要一些时间返回,同时fun()与[1]相关到函数定义,现在两者都使用fun(),我想创建 两个对象通过使用结构使得第一个fun()调用使用第一个对象而第二个将使用第二个对象。
问题是假设fun()传递了5000(a1 [0]的地址)并且在函数定义中它在指针* abc中收到了5000但是在函数运行时另一个函数调用将覆盖5000到6000(a1 [1] )......
所以我想创建两个对象,这样每个函数调用都将使用自己的对象。