Thread: char** within struct not printing correctly.

  1. #1
    Registered User
    Join Date
    Aug 2011
    Posts
    3

    char** within struct not printing correctly.

    Hello Folks:
    Please see the below code.

    char ** struct element donot print the values correctly in main(). But if it is printed within the func:assignStrctElements(), it prints correct. What is wrong here?

    Appreciate if anyone has any suggestions.

    Thanks in advance.




    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <stdarg.h>
    #include <assert.h>
    
    struct abc {
    int count;
    char** bull;
    char** cat;
    } ;
    
    
    main()
    {
    int i =0;
    int ii=0;
    
    struct  abc  *Revdstrct = NULL;
    
    
    
    Revdstrct = (struct abc*)malloc(sizeof(struct abc)*10);
    assignStrctElements(Revdstrct);
    
    for(i=0;i<10;i++)
    for(ii=0;ii<10;ii++) 
    printf("\n FROM MAIN: count:%d bull:%s cat:%s",(Revdstrct[i].count),(Revdstrct[i].bull[ii]),(Revdstrct[i].cat[ii]));
    
    
    }
    
    void assignStrctElements(struct abc *Revdstrct)
    {
    int j = 0;
    int jj=0;
    int k=0;
    int kk=0;
    
    if(Revdstrct)
    {
       for(j=0;j<10;j++)
      {
        Revdstrct[j].count = j;
        Revdstrct[j].bull=malloc(sizeof(char*)*10);
        Revdstrct[j].cat=malloc(sizeof(char*)*10);
        for(jj=0;jj<10;jj++)
         {
             
             Revdstrct[j].bull[jj]=malloc(sizeof(char)*256);
             strcpy((Revdstrct[j].bull[jj]),"ABCD");
    
             Revdstrct[j].cat[jj]=malloc(sizeof(char)*256);
              strcpy((Revdstrct[j].cat[jj]),"XYZ");
    
         }  
      }   
    
    
    
    for(k=0;k<10;k++) 
    for(kk=0;kk<10;kk++)  
    printf("\n FROM FUNC: count:%d bull:%s cat:%s",(Revdstrct[k].count),(Revdstrct[k].bull[kk]),(Revdstrct[k].cat[kk]));
    
    }
    
    
    
    
    }
    Last edited by aj74; 11-12-2011 at 10:28 AM.

  2. #2
    Registered User
    Join Date
    May 2009
    Posts
    4,183
    Try turning on your compiler warnings; then fix them.

    I had to add the string.h include and a function prototype and other minor fixes. And then, I got the below output.

    Tim S.

    Code:
     FROM FUNC: count:0 bull:ABCD cat:XYZ
     FROM FUNC: count:0 bull:ABCD cat:XYZ
     FROM FUNC: count:0 bull:ABCD cat:XYZ
     FROM FUNC: count:0 bull:ABCD cat:XYZ
     FROM FUNC: count:0 bull:ABCD cat:XYZ
     FROM FUNC: count:0 bull:ABCD cat:XYZ
     FROM FUNC: count:0 bull:ABCD cat:XYZ
     FROM FUNC: count:0 bull:ABCD cat:XYZ
     FROM FUNC: count:0 bull:ABCD cat:XYZ
     FROM FUNC: count:0 bull:ABCD cat:XYZ
     FROM FUNC: count:1 bull:ABCD cat:XYZ
     FROM FUNC: count:1 bull:ABCD cat:XYZ
     FROM FUNC: count:1 bull:ABCD cat:XYZ
     FROM FUNC: count:1 bull:ABCD cat:XYZ
     FROM FUNC: count:1 bull:ABCD cat:XYZ
     FROM FUNC: count:1 bull:ABCD cat:XYZ
     FROM FUNC: count:1 bull:ABCD cat:XYZ
     FROM FUNC: count:1 bull:ABCD cat:XYZ
     FROM FUNC: count:1 bull:ABCD cat:XYZ
     FROM FUNC: count:1 bull:ABCD cat:XYZ
     FROM FUNC: count:2 bull:ABCD cat:XYZ
     FROM FUNC: count:2 bull:ABCD cat:XYZ
     FROM FUNC: count:2 bull:ABCD cat:XYZ
     FROM FUNC: count:2 bull:ABCD cat:XYZ
     FROM FUNC: count:2 bull:ABCD cat:XYZ
     FROM FUNC: count:2 bull:ABCD cat:XYZ
     FROM FUNC: count:2 bull:ABCD cat:XYZ
     FROM FUNC: count:2 bull:ABCD cat:XYZ
     FROM FUNC: count:2 bull:ABCD cat:XYZ
     FROM FUNC: count:2 bull:ABCD cat:XYZ
     FROM FUNC: count:3 bull:ABCD cat:XYZ
     FROM FUNC: count:3 bull:ABCD cat:XYZ
     FROM FUNC: count:3 bull:ABCD cat:XYZ
     FROM FUNC: count:3 bull:ABCD cat:XYZ
     FROM FUNC: count:3 bull:ABCD cat:XYZ
     FROM FUNC: count:3 bull:ABCD cat:XYZ
     FROM FUNC: count:3 bull:ABCD cat:XYZ
     FROM FUNC: count:3 bull:ABCD cat:XYZ
     FROM FUNC: count:3 bull:ABCD cat:XYZ
     FROM FUNC: count:3 bull:ABCD cat:XYZ
     FROM FUNC: count:4 bull:ABCD cat:XYZ
     FROM FUNC: count:4 bull:ABCD cat:XYZ
     FROM FUNC: count:4 bull:ABCD cat:XYZ
     FROM FUNC: count:4 bull:ABCD cat:XYZ
     FROM FUNC: count:4 bull:ABCD cat:XYZ
     FROM FUNC: count:4 bull:ABCD cat:XYZ
     FROM FUNC: count:4 bull:ABCD cat:XYZ
     FROM FUNC: count:4 bull:ABCD cat:XYZ
     FROM FUNC: count:4 bull:ABCD cat:XYZ
     FROM FUNC: count:4 bull:ABCD cat:XYZ
     FROM FUNC: count:5 bull:ABCD cat:XYZ
     FROM FUNC: count:5 bull:ABCD cat:XYZ
     FROM FUNC: count:5 bull:ABCD cat:XYZ
     FROM FUNC: count:5 bull:ABCD cat:XYZ
     FROM FUNC: count:5 bull:ABCD cat:XYZ
     FROM FUNC: count:5 bull:ABCD cat:XYZ
     FROM FUNC: count:5 bull:ABCD cat:XYZ
     FROM FUNC: count:5 bull:ABCD cat:XYZ
     FROM FUNC: count:5 bull:ABCD cat:XYZ
     FROM FUNC: count:5 bull:ABCD cat:XYZ
     FROM FUNC: count:6 bull:ABCD cat:XYZ
     FROM FUNC: count:6 bull:ABCD cat:XYZ
     FROM FUNC: count:6 bull:ABCD cat:XYZ
     FROM FUNC: count:6 bull:ABCD cat:XYZ
     FROM FUNC: count:6 bull:ABCD cat:XYZ
     FROM FUNC: count:6 bull:ABCD cat:XYZ
     FROM FUNC: count:6 bull:ABCD cat:XYZ
     FROM FUNC: count:6 bull:ABCD cat:XYZ
     FROM FUNC: count:6 bull:ABCD cat:XYZ
     FROM FUNC: count:6 bull:ABCD cat:XYZ
     FROM FUNC: count:7 bull:ABCD cat:XYZ
     FROM FUNC: count:7 bull:ABCD cat:XYZ
     FROM FUNC: count:7 bull:ABCD cat:XYZ
     FROM FUNC: count:7 bull:ABCD cat:XYZ
     FROM FUNC: count:7 bull:ABCD cat:XYZ
     FROM FUNC: count:7 bull:ABCD cat:XYZ
     FROM FUNC: count:7 bull:ABCD cat:XYZ
     FROM FUNC: count:7 bull:ABCD cat:XYZ
     FROM FUNC: count:7 bull:ABCD cat:XYZ
     FROM FUNC: count:7 bull:ABCD cat:XYZ
     FROM FUNC: count:8 bull:ABCD cat:XYZ
     FROM FUNC: count:8 bull:ABCD cat:XYZ
     FROM FUNC: count:8 bull:ABCD cat:XYZ
     FROM FUNC: count:8 bull:ABCD cat:XYZ
     FROM FUNC: count:8 bull:ABCD cat:XYZ
     FROM FUNC: count:8 bull:ABCD cat:XYZ
     FROM FUNC: count:8 bull:ABCD cat:XYZ
     FROM FUNC: count:8 bull:ABCD cat:XYZ
     FROM FUNC: count:8 bull:ABCD cat:XYZ
     FROM FUNC: count:8 bull:ABCD cat:XYZ
     FROM FUNC: count:9 bull:ABCD cat:XYZ
     FROM FUNC: count:9 bull:ABCD cat:XYZ
     FROM FUNC: count:9 bull:ABCD cat:XYZ
     FROM FUNC: count:9 bull:ABCD cat:XYZ
     FROM FUNC: count:9 bull:ABCD cat:XYZ
     FROM FUNC: count:9 bull:ABCD cat:XYZ
     FROM FUNC: count:9 bull:ABCD cat:XYZ
     FROM FUNC: count:9 bull:ABCD cat:XYZ
     FROM FUNC: count:9 bull:ABCD cat:XYZ
     FROM FUNC: count:9 bull:ABCD cat:XYZ
     FROM MAIN: count:0 bull:ABCD cat:XYZ
     FROM MAIN: count:0 bull:ABCD cat:XYZ
     FROM MAIN: count:0 bull:ABCD cat:XYZ
     FROM MAIN: count:0 bull:ABCD cat:XYZ
     FROM MAIN: count:0 bull:ABCD cat:XYZ
     FROM MAIN: count:0 bull:ABCD cat:XYZ
     FROM MAIN: count:0 bull:ABCD cat:XYZ
     FROM MAIN: count:0 bull:ABCD cat:XYZ
     FROM MAIN: count:0 bull:ABCD cat:XYZ
     FROM MAIN: count:0 bull:ABCD cat:XYZ
     FROM MAIN: count:1 bull:ABCD cat:XYZ
     FROM MAIN: count:1 bull:ABCD cat:XYZ
     FROM MAIN: count:1 bull:ABCD cat:XYZ
     FROM MAIN: count:1 bull:ABCD cat:XYZ
     FROM MAIN: count:1 bull:ABCD cat:XYZ
     FROM MAIN: count:1 bull:ABCD cat:XYZ
     FROM MAIN: count:1 bull:ABCD cat:XYZ
     FROM MAIN: count:1 bull:ABCD cat:XYZ
     FROM MAIN: count:1 bull:ABCD cat:XYZ
     FROM MAIN: count:1 bull:ABCD cat:XYZ
     FROM MAIN: count:2 bull:ABCD cat:XYZ
     FROM MAIN: count:2 bull:ABCD cat:XYZ
     FROM MAIN: count:2 bull:ABCD cat:XYZ
     FROM MAIN: count:2 bull:ABCD cat:XYZ
     FROM MAIN: count:2 bull:ABCD cat:XYZ
     FROM MAIN: count:2 bull:ABCD cat:XYZ
     FROM MAIN: count:2 bull:ABCD cat:XYZ
     FROM MAIN: count:2 bull:ABCD cat:XYZ
     FROM MAIN: count:2 bull:ABCD cat:XYZ
     FROM MAIN: count:2 bull:ABCD cat:XYZ
     FROM MAIN: count:3 bull:ABCD cat:XYZ
     FROM MAIN: count:3 bull:ABCD cat:XYZ
     FROM MAIN: count:3 bull:ABCD cat:XYZ
     FROM MAIN: count:3 bull:ABCD cat:XYZ
     FROM MAIN: count:3 bull:ABCD cat:XYZ
     FROM MAIN: count:3 bull:ABCD cat:XYZ
     FROM MAIN: count:3 bull:ABCD cat:XYZ
     FROM MAIN: count:3 bull:ABCD cat:XYZ
     FROM MAIN: count:3 bull:ABCD cat:XYZ
     FROM MAIN: count:3 bull:ABCD cat:XYZ
     FROM MAIN: count:4 bull:ABCD cat:XYZ
     FROM MAIN: count:4 bull:ABCD cat:XYZ
     FROM MAIN: count:4 bull:ABCD cat:XYZ
     FROM MAIN: count:4 bull:ABCD cat:XYZ
     FROM MAIN: count:4 bull:ABCD cat:XYZ
     FROM MAIN: count:4 bull:ABCD cat:XYZ
     FROM MAIN: count:4 bull:ABCD cat:XYZ
     FROM MAIN: count:4 bull:ABCD cat:XYZ
     FROM MAIN: count:4 bull:ABCD cat:XYZ
     FROM MAIN: count:4 bull:ABCD cat:XYZ
     FROM MAIN: count:5 bull:ABCD cat:XYZ
     FROM MAIN: count:5 bull:ABCD cat:XYZ
     FROM MAIN: count:5 bull:ABCD cat:XYZ
     FROM MAIN: count:5 bull:ABCD cat:XYZ
     FROM MAIN: count:5 bull:ABCD cat:XYZ
     FROM MAIN: count:5 bull:ABCD cat:XYZ
     FROM MAIN: count:5 bull:ABCD cat:XYZ
     FROM MAIN: count:5 bull:ABCD cat:XYZ
     FROM MAIN: count:5 bull:ABCD cat:XYZ
     FROM MAIN: count:5 bull:ABCD cat:XYZ
     FROM MAIN: count:6 bull:ABCD cat:XYZ
     FROM MAIN: count:6 bull:ABCD cat:XYZ
     FROM MAIN: count:6 bull:ABCD cat:XYZ
     FROM MAIN: count:6 bull:ABCD cat:XYZ
     FROM MAIN: count:6 bull:ABCD cat:XYZ
     FROM MAIN: count:6 bull:ABCD cat:XYZ
     FROM MAIN: count:6 bull:ABCD cat:XYZ
     FROM MAIN: count:6 bull:ABCD cat:XYZ
     FROM MAIN: count:6 bull:ABCD cat:XYZ
     FROM MAIN: count:6 bull:ABCD cat:XYZ
     FROM MAIN: count:7 bull:ABCD cat:XYZ
     FROM MAIN: count:7 bull:ABCD cat:XYZ
     FROM MAIN: count:7 bull:ABCD cat:XYZ
     FROM MAIN: count:7 bull:ABCD cat:XYZ
     FROM MAIN: count:7 bull:ABCD cat:XYZ
     FROM MAIN: count:7 bull:ABCD cat:XYZ
     FROM MAIN: count:7 bull:ABCD cat:XYZ
     FROM MAIN: count:7 bull:ABCD cat:XYZ
     FROM MAIN: count:7 bull:ABCD cat:XYZ
     FROM MAIN: count:7 bull:ABCD cat:XYZ
     FROM MAIN: count:8 bull:ABCD cat:XYZ
     FROM MAIN: count:8 bull:ABCD cat:XYZ
     FROM MAIN: count:8 bull:ABCD cat:XYZ
     FROM MAIN: count:8 bull:ABCD cat:XYZ
     FROM MAIN: count:8 bull:ABCD cat:XYZ
     FROM MAIN: count:8 bull:ABCD cat:XYZ
     FROM MAIN: count:8 bull:ABCD cat:XYZ
     FROM MAIN: count:8 bull:ABCD cat:XYZ
     FROM MAIN: count:8 bull:ABCD cat:XYZ
     FROM MAIN: count:8 bull:ABCD cat:XYZ
     FROM MAIN: count:9 bull:ABCD cat:XYZ
     FROM MAIN: count:9 bull:ABCD cat:XYZ
     FROM MAIN: count:9 bull:ABCD cat:XYZ
     FROM MAIN: count:9 bull:ABCD cat:XYZ
     FROM MAIN: count:9 bull:ABCD cat:XYZ
     FROM MAIN: count:9 bull:ABCD cat:XYZ
     FROM MAIN: count:9 bull:ABCD cat:XYZ
     FROM MAIN: count:9 bull:ABCD cat:XYZ
     FROM MAIN: count:9 bull:ABCD cat:XYZ
     FROM MAIN: count:9 bull:ABCD cat:XYZ

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. printing matrices correctly
    By maxzoran in forum C Programming
    Replies: 3
    Last Post: 07-20-2010, 01:04 PM
  2. How To Correctly Output of Struct Objects
    By NuNn in forum C Programming
    Replies: 10
    Last Post: 02-13-2009, 08:32 AM
  3. Printing From Class/Struct
    By GCNDoug in forum C++ Programming
    Replies: 9
    Last Post: 03-06-2008, 10:11 AM
  4. Printing From Struct
    By GCNDoug in forum C++ Programming
    Replies: 1
    Last Post: 02-20-2008, 09:51 PM
  5. Printing a pattern correctly???
    By Basia in forum C Programming
    Replies: 1
    Last Post: 07-01-2002, 04:34 PM

Tags for this Thread