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

发布新日志

  • 字符串及其结束标志

    2008-09-03 18:18:09

     
    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],这样就免了后患之忧。
     
    在网上请了一位免费的老师,感觉效果还不错,比自己一个人在那里闷闷的学习要有效率多了。嘿嘿,真的要谢谢这位默默无闻的老师^_^
     
     
Open Toolbar