1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Memory Allocation To a Structure

Discussion in 'C' started by ronan_40060, Feb 7, 2009.

  1. ronan_40060

    ronan_40060 New Member

    Joined:
    Nov 25, 2008
    Messages:
    10
    Likes Received:
    0
    Trophy Points:
    0
    Dear Experts
    I have the following Structure
    Code:
    typedef struct wf_list_workunit_fe  
                    {
                                    short int nbr_Workunits_fe;
                                    [size_is(nbr_Workunits_fe)] WF_STRUCT_WORKUNIT_FE  lst_Workunit_fe
    [*];
                    } WF_LIST_WORKUNIT_FE;
    and 
    typedef [ptr] WF_LIST_WORKUNIT_FE * WF_LIST_WORKUNIT_P_FE;
    and Now Im doing this 
    WF_LIST_WORKUNIT_FE listWU;
    memset((void*)&listWU, '\0' , sizeof(WF_LIST_WORKUNIT_FE));
    WF_LIST_WORKUNIT_P_FE ptrlistWU ;
    ptrlistWU = &listWU;
    
    Is this correct ?
     
    Last edited by a moderator: Feb 7, 2009
  2. shabbir

    shabbir Administrator Staff Member

    Joined:
    Jul 12, 2004
    Messages:
    15,287
    Likes Received:
    364
    Trophy Points:
    83
    There are 2 ways to say if its correct or not.

    1. Syntactically
    2. Semantically

    For testing point 1 you should allow the compiler to say if its compiling.

    For Semantically correction we need to know what you are trying to do as well.
     
  3. ronan_40060

    ronan_40060 New Member

    Joined:
    Nov 25, 2008
    Messages:
    10
    Likes Received:
    0
    Trophy Points:
    0
    Hi Shabbir
    Thanks for the reply ..
    WF_LIST_WORKUNIT_FE array of structure is sent as an OUT param in one of the RPC..
    Im allocating a memory for it to store all the member varibles of WF_LIST_WORKUNIT_FE in local variables

    for (int i = 0; i < ptrlistWU->nbr_Workunits_fe; i++)
    {
    retObj->workunitArray->lstWorkunit->wfStructWu.push_back(conObj.WFWuStructDceToSoap(ptrlistWU->lst_Workunit_fe));
    }
    where lstWorkunit is the local object and I have ptrlistWU->lst_Workunit_fe) that is passed to WFWuStructDceToSoap method ...
     

Share This Page