Connecting Tech Pros Worldwide Forums | Help | Site Map

how to allocate memory for this

raju
Guest
 
Posts: n/a
#1: Jan 12 '06
hello all,

i want to know about dynamically allocating for
char **ptr

and in problem
#include<stdio.h>
main()
{
char **p={"hello","world"};

printf("%s",*ptr);
printf("%c",**ptr);
printf("%s",*(ptr+1));

}

i wann to print "hello" , "h", "world"

is this correct code , is ther any problem with this code;

well i know while initializing tha 2d char array
char *p[]={"hello","world"};
but i want to know to how i can initialize using pointer to ponter;;


Bjørn Augestad
Guest
 
Posts: n/a
#2: Jan 12 '06

re: how to allocate memory for this


raju wrote:[color=blue]
> hello all,
>
> i want to know about dynamically allocating for
> char **ptr
>
> and in problem
> #include<stdio.h>
> main()
> {
> char **p={"hello","world"};
>
> printf("%s",*ptr);
> printf("%c",**ptr);
> printf("%s",*(ptr+1));
>
> }
>
> i wann to print "hello" , "h", "world"
>
> is this correct code , is ther any problem with this code;
>
> well i know while initializing tha 2d char array
> char *p[]={"hello","world"};
> but i want to know to how i can initialize using pointer to ponter;;
>[/color]

Maybe this code will help?

#include <stdlib.h>
#include <string.h>
#include <stdio.h>

int main(void)
{
char** p;

/* First of all we need memory to store the two pointers */
if( (p = malloc(sizeof *p * 2)) == NULL)
return EXIT_FAILURE;


/* Now we need memory to store the actual strings.
* There are two strings, "hello" and "world".
* We just allocate 100 bytes to each string, to keep things simple.
*/
if( (*p = malloc(100)) == NULL
|| (*(p + 1) = malloc(100)) == NULL)
return EXIT_FAILURE;


/* Now copy some values to the strings */
strcpy(p[0], "hello");
strcpy(p[1], "world");

/* And print the contents */
printf("%s\n", *p);
printf("%c\n", **p);
printf("%s\n", *(p + 1));

/* Free mem and exit */
free(p[0]);
free(p[1]);
free(p);
return EXIT_SUCCESS;
}

raju
Guest
 
Posts: n/a
#3: Jan 13 '06

re: how to allocate memory for this


thanks ,


and how can i initialize the
char **p
is it possible to initialize using the pointer to pointers;

Default User
Guest
 
Posts: n/a
#4: Jan 13 '06

re: how to allocate memory for this


raju wrote:
[color=blue]
> thanks ,
>
>
> and how can i initialize the
> char **p
> is it possible to initialize using the pointer to pointers;[/color]

What are you talking about?



Brian

--
Please quote enough of the previous message for context. To do so from
Google, click "show options" and use the Reply shown in the expanded
header.
Closed Thread