Whats difference between them ? | Sololearn: Learn to code for FREE!


Whats difference between them ?

char new_string[] = "12345"; char *str = " 12345":

4/20/2021 5:04:18 PM

[bool left=True;]

3 Answers

New Answer


the first one as it currently defined is a null-terminated char array. But if you were to define it as char name[5] = "namee"; // not null-terminated. it would still be an array of chars, but not a string char* name = "namee"; // null-terminated the second one is guaranteed to be a null-terminated string you can see the differences below. just comment and uncomment the ones that you want to test. #include <stdio.h> int main() { char name[5] = "namee"; // prints -> nameex`@ //char* name = "namee"; // prints -> namee char c = 'x'; printf("%s", name); return 0; }


The first one is declaration of string using array the second one is declaration of string using pointers.


Flash thanks. first one is an array that pointing to first char. And 2nd one a char pointer also pointing first char. In this respect how they are different ?