字符串结束字符的整理

来源:互联网 发布:淘宝服装照片拍摄技巧 编辑:程序博客网 时间:2024/05/28 04:54

今天上课老师提问了个问题,关于stelen函数求字符串长度的问题。以前一直对这样的问题存在困扰,我想今天应该解决了。

下面通过一个函数,来说明我的问题.

int main(int argc,char* argv[])
{
 char* a = "abcdef";     // 定义成字符指针
 cout << sizeof(a) << endl;  // 注意sizeof后面跟的永远都是类型,因此指针类型的大小为4个;
 cout << strlen(a) << endl; // 测试a字符指针中所包含的字符的个数。为6个,注意这里不会包括\0这个结束符。
 char b[9] = {"abcdef"};
 cout << sizeof(b) << endl;   // 同样这里的b的大小为9,因为sizeof只看类型。
 cout << strlen(b) << endl;   // strlen只看该空间中到底有多少个字符。
 b[9] = "abcdefgh";                 // 这里要注意了,b[9]中要存放的实际字符的个数只能是8个。因为最后有一个结束符。
 cout << b << " ";  
 return 0;

 

 

总结如下,所有涉及到长度问题时,根本与结束符没有关系。只是在实际存储中会出现这样的问题。依次,以后要记住了。求大小的情况,要不能出现错误的问题了。

原创粉丝点击