指向同一个字符串的指针跟数组的地址区别-包含const

指向同一个字符串的指针和数组的地址区别-包含const

1、代码如下:

#include<iostream> 
using namespace std;

int main()  
{
	char str1[]="abc";
	char str2[]="abc";
	const char str3[]="abc";
	const char str4[]="abc";
	const char *str5="abc";
	const char *str6="abc";
	char *str7="abc";
	char *str8="abc";

	cout<<(str1==str2)<<endl;
	cout<<(str3==str4)<<endl;
	cout<<(str5==str6)<<endl;
	cout<<(str7==str8)<<endl;
    return 0;  
}
2、输出结果如下:

指向同一个字符串的指针跟数组的地址区别-包含const

3、分析:

指向同一个字符串的指针跟数组的地址区别-包含const
指向同一个字符串的指针跟数组的地址区别-包含const
因为str1-str4是申请了4个数组,所以他们的地址不同;而str5-str8是申请了4个指针,他们都指向同一个字符串,所以地址相同。