c++数组大小的问题

[复制链接]
查看11 | 回复5 | 2011-4-8 10:50:08 | 显示全部楼层 |阅读模式
#include "iostream.h"
void main()
{
int q=0;
char app[]={1,1,1,1,1};
char num[]="abcdef";
cout<<sizeof num<<endl;
}
为什么输出结果是7不是6?

回复

使用道具 举报

千问 | 2011-4-8 10:50:08 | 显示全部楼层
char num被认为是字符串,字符串默认为\0字符作为结束标志,所以一共7个。
回复

使用道具 举报

千问 | 2011-4-8 10:50:08 | 显示全部楼层
字符串在内存中多一个'\0',为结束符。
回复

使用道具 举报

千问 | 2011-4-8 10:50:08 | 显示全部楼层
字符串会默认加上'\0'的结束符
回复

使用道具 举报

千问 | 2011-4-8 10:50:08 | 显示全部楼层
结果是7,"abcdef"是字符串,末尾自动会带字符‘\0’
回复

使用道具 举报

千问 | 2011-4-8 10:50:08 | 显示全部楼层
这个是C-串,在串的末尾都会有一个结束符'\0'。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行