How to create a dynamic string in a function and return a pointer to the string in C

1 Answer

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

char* getstr(char *str) {
    char *p = malloc(strlen(str) + 1);
    strcpy(p, str);
    
    return p;
}

int main(void)
{
    char *p = getstr("C Programming");
    
    printf("%s\n", p);

    free(p);

    return 0;
}

   
/*
run:
   
C Programming

*/

 



answered Jun 19, 2024 by avibootz
...