测试需要一颗发现美的心灵,更重要的是需要发现邪恶的火眼金睛。。。

字符串及其结束标志

上一篇 / 下一篇  2008-09-03 18:18:09 / 个人分类:C study

 
C语言规定:以‘\0’作为字符串结束标志(‘\0’代表ASCII码为0的字符,表示一个空操作,只起一个标志作用)。因此可以对字符数组采用另一种方式进行操作了——字符数组的整体操作。
注意:由于系统在存储字符串常量时,会在串尾自动加上1个结束标志,所以无需人为的再加1个。另外,由于结束标志也要在字符数组中占用一个元素的存储空间,因此在说明字符数组长度时,至少为字符串所需长度加1。下面这个函数就有这样的问题:
 
Void abc()
{
char string[10];
char* str1="0123456789";
strcpy(string, str1);
}
 
第一个数组string[10]的长度定义的不够长,str1中有11个字符,其中包括最后一位结束符“\0”,所以,当把str1的内容copy给string[10]的时候,string[10]只接收到前10位,但是结束符没有收到,所以系统不会停止操作,可能会导致混乱。再一个是最好不要用指针,因为系统没有给其分配内存空间,会导致异常。所以,一般在定义一个字符串数组的时候,一般会定义最大长度string[256],这样就免了后患之忧。
 
在网上请了一位免费的老师,感觉效果还不错,比自己一个人在那里闷闷的学习要有效率多了。嘿嘿,真的要谢谢这位默默无闻的老师^_^
 
 

TAG:

 

评分:0

我来说两句

日历

« 2024-04-28  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 9817
  • 日志数: 18
  • 建立时间: 2008-06-05
  • 更新时间: 2009-08-17

RSS订阅

Open Toolbar