[2 days left] Whatâ€™s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
Solved

Posted on 2000-04-13
Medium Priority
193 Views
Could anybody help on the ** pointers. I have something like this:
typedef struct MyStructure{
XXX **BBB;
YYY **CCC;
}MyStructure;
In fact, If anybody could explain to me how this struct works,it be'll great.
Thanks.
0
Question by:asma
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points

LVL 1

Accepted Solution

MT_MU earned 200 total points
ID: 2714505
For the sake of illustration - assume XXX is actually char.

If we were to assume that that BBB is appropriately initialized.  *BBB would point to the addess of a string.

**BBB would point to the first character of the string pointed to by *BBB.

And for example....

char *Str1 = "1String";
char *Str2 = "2String";
char *Str3 = "3String";

MyStructure xyz;

xyz.BBB = (char **)malloc(sizeof(char *) * 3);

// Fill in our array

xyz.BBB[0] = Str1;      // This is the equivalant of *xyz.BBB = Str1;
xyz.BBB[1] = Str2;
xyz.BBB[2] = Str3;

// Loop through the strings...

char **strptr = xyz.BBB;

for (int i = 0; i < 3; i++)
{
char* onestring = *strptr++;
}

free(xyz.BBB);
0

LVL 1

Expert Comment

ID: 2714562
a pointer is a variables that contains an address. at that address is a value of the type XXX in your case.

now, if you have a double pointer, it means that the variable points to a place in memory where a pointer to XXX (or YYY) resides.

so you have

BBB of type XXX** points to -> a type XXX* that points to -> a value of type XXX

hope it's clear enough
0

Author Comment

ID: 2714564
MT_MU,
I'm new to pointers & structures. In fact, my C knowledge are basic ones.If it get complicated, i'll be lost. Is there a good C bible out there that teaches you all these jargon?
0

LVL 1

Expert Comment

ID: 2714681
I kind of hate to admit this - but it's been so long since I started programming that I've forgotten what books seemed to help.

I'll take a look and see if I still have some.

0

LVL 14

Expert Comment

ID: 2714736
Asma,write your EMail and i 'll send you pointer tutorial.
Alex
0

Author Comment

ID: 2714789
My email is asmawati@yahoo.com
0

LVL 8

Expert Comment

ID: 2714836
asma,

You could try this book:
This is a wonderful book, especially if you want to do self-study.

The C Programming Language: ANSI C Version
Brian W. Kernighan  Dennis M. Ritchie

Paperback, 2nd ed., 272pp.
ISBN: 0131103628
Publisher: Prentice Hall
Pub. Date: May  1988
Price is about \$40 to \$60, depending on the binding and edition.

- stochastic

0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Preface I don't like visual development tools that are supposed to write a program for me. Even if it is Xcode and I can use Interface Builder. Yes, it is a perfect tool and has helped me a lot, mainly, in the beginning, when my programs were smallâ€¦
Windows programmers of the C/C++ variety, how many of you realise that since Window 9x Microsoft has been lying to you about what constitutes Unicode (http://en.wikipedia.org/wiki/Unicode)? They will have you believe that Unicode requires you to useâ€¦
The goal of this video is to provide viewers with basic examples to understand recursion in the C programming language.
The goal of this video is to provide viewers with basic examples to understand how to use strings and some functions related to them in the C programming language.
###### Suggested Courses
Course of the Month14 days, 7 hours left to enroll