例如:

main()
{
chars[30]; 
strcpy(s,"Good News!"); /*给数组赋字符串*/ 
}

上面程序在编译时,遇到chars[30]这条语句时,编译程序会在内存的某处留出连续30个字节的区域, 并将第一个字节的地址赋给s。当遇到strcpy( strcpy 为TurboC2.0的函数)时, 首先在目标文件的某处建立一个"Good News!\0" 的字符串。其中\0表示字符串终止,终止符是编译时自动加上的,然后一个字符一个字符地复制到s所指的内存区域。因此定义字符串数组时, 其元素个数至少应该比字符串的长度多1。

注意:

1.字符串数组不能用"="直接赋值, 即s="Good News!"是不合法的(但是如果是字符串指针型的则可以)。所以应分清字符串数组和字符串指针的不同赋值方法。

2.对于长字符串, Turbo C2.0允许使用下述方法:

例如:

main()
{
chars[100]; 
strcpy(s,"The writer would like to thank you for" 
"yourinterest in his book. He hopes you" 
"canget some helps from the book."); 
}