Character array:
Char a[2]={' A ', ' B ', ' C '};
Char a[]={' A ', ' B ', ' C '};
String:
Char a[3]={"abc"};
Char a[3]= "abc"; You can omit the curly braces here
Char a[]= "ABC"; With Char a[3]={' a ', ' B ', ' C ', ' n '}; Same
The Scarlet Letter indicates why the place to become 3, because the string is assigned to the array, in the end will be added by default a character "", more than one character, if the defined array space is not enough, may cause storage errors, changes in system memory other data, causing serious consequences, such as:
Char a[2]= "abc";
A[0]= ' A ',
A[1]= ' B ',
A[2]= ' C ',
(a+3) point to address space is assigned to ' ", and this is not what the program wants, unauthorized erasure of memory data, the consequences can be imagined.
This article is from the "accumulate small stream into the river" blog, please make sure to keep this source http://laoxiong.blog.51cto.com/5735045/1880959
The difference between a string and a character array in C language