We do this by setting our char* to the memory location of the first element of s But characters in c are represented by their integer codes, so there's nothing unusual in the fact that an integer type char is used to serve that purpose The & operator gives us the memory location of s[0]
Christine Blake (@christine_b325) • Threads, Say more
Here is a shorter way to write the above
As the initializer for an array of char, as in the declaration of char a [] , it specifies the initial values of the characters in that array (and, if necessary, its size)
} int main() { char *s = malloc(5) // s points to an array of 5 chars modify(&s) // s now points to a new array of 10 chars free(s) } you can also use char ** to store an array of strings
However, if you dynamically allocate everything, remember to keep track of how long the array of strings is so you can loop through each element and free it. Is an array of chars, initialized with the contents from test, while char *str = test Is a pointer to the literal (const) string test The main difference between them is that the first is an array and the other one is a pointer
The array owns its contents, which happen to be a copy of test, while the pointer simply refers to the contents of the string (which in.
Char *array = one good thing about music 50 the difference between char* the pointer and char[] the array is how you interact with them after you create them If you are just printing the two examples, it will perform exactly the same They both generate data in memory, {h, e, l, l, o, /0}
The fundamental difference is that in one char* you are assigning it to a pointer, which is a. What's the difference between char* name which points to a constant string literal, and const char* name A char array is harder to manage than a string and certain functions may only accept a string as input, requiring you to convert the array to a string It's better to use strings, they were made so that you don't have to use arrays.
Says that the value at the location of a is a pointer to a char
This can be combined with pointer arithmetic to behave like an array (eg, a[10] is 10 entries past wherever a points)