通过创建两个结构对象来并发访问函数

时间:2015-07-07 07:23:30

标签: c struct

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] )......

所以我想创建两个对象,这样每个函数调用都将使用自己的对象。

0 个答案:

没有答案