牛骨文教育服务平台(让学习变的简单)
博文笔记

字符数组、字符串的声明及初始化问题

创建时间:2015-06-29 投稿人: 浏览次数:131


int main()
{
	char a[2];
	char b[2] = {"a", "b"};
	char c[3] = {"a", "b", ""};
	char* d = "abc";
	char* e = new char[2];
        return 0;
}



声明字符数组a,但未初始化,可见其指向的地址,内容为乱码;

而初始化数组b;其中b[0],b[1]都正确赋值,但其地址所指向的内容除了"a",’b",后面还有一些乱码,这样在cout << b << endl 时,除了输出"ab",后面的乱码也会输出;

为了避免输出乱码,在字符数组c中,给c[3]赋值为""(字符串结束符);

同理将字符指针d指向字符串“abc”,由于字符串会自动加入结束符‘",输出时不会有乱码。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。