Of course there is. Like dave and prelude saud you have to use the char* type. e.g Help with Code Tags (Toggle Plain Text) #include <stdio.h> #include <string.h> char *getSomeString(void); int main(void) { char mainString[strlen(getSomeString()) + 1]; strcpy(mainString,getSomeString()); printf("%s",mainString); getchar(); } char *getSomeString(void) { return "Some String"; } #include <stdio.h> #include <string.h> char *getSomeString(void); int main(void) { char mainString[strlen(getSomeString()) + 1]; strcpy(mainString,getSomeString()); printf("%s",mainString); getchar(); } char *getSomeString(void) { return "Some String"; } Now I think I did the printf right I am a C++ man
#include <stdio.h> #include <string.h> char *getSomeString(void); int main(void) { char mainString[strlen(getSomeString()) + 1]; strcpy(mainString,getSomeString()); printf("%s",mainString); getchar(); } char *getSomeString(void) { return "Some String"; }
char mainString[] = getSomeString();
C has a special shorthand for initializing strings: Surround the string with double quotes to simplify initialization... Help with Code Tags (Toggle Plain Text) char name[] = "Sam"; char name[] = "Sam"; The dimension of name is 4 because C allocates a place for the '\0' character that ends the string.
char name[] = "Sam";