//==========chartype.cpp==========
#include <iostream>
#include <string>
using namespace std;
void main()
{
//exp.2
//char charArray[] = {"abc", "defg"}; //编译错误初始值设定项太多
char charArray[] = {"abcde"};
char *charArrayPtr = charArray;
cout << "charArray[] = {\"abcde\"}" << endl;
cout << "charArray is : " << charArray << endl; //charArray是整个数组
cout << "*charArray is : " << *charArray << endl;
cout << "charArray[0] is : " << charArray[0] << endl;
cout << "&charArray is : " << &charArray << endl;
cout << "*(int*)(charArray) is : " << *(int*)(charArray) << endl;
cout << "(int*)(charArray) is : " << (int*)(charArray) << endl;
cout << "sizeof charArray is : " << sizeof(charArray) << endl;
cout << "sizeof char is :" << sizeof(char) << endl << endl;
//cout << "charArray[2] is : " << charArray[2] << endl; //编译错误非法的间接寻址
//cout << *charArray[3] << endl; //编译错误非法的间接寻址
cout << "*charArrayPtr = charArray" << endl;
cout << "sizeof *charArrayPtr is : " << sizeof(*charArrayPtr) << endl;
cout << "sizeof charArrayPtr is : " << sizeof(charArrayPtr) << endl;
cout << "*charArrayPtr is : " << *charArrayPtr << endl;
cout << "charArrayPtr is : " << charArrayPtr << endl;
cout << "&charArrayPtr is : " << &charArrayPtr << endl;
cout << "*(int*)(charArrayPtr) is : " << *(int*)(charArrayPtr) << endl;
//cout << "*charArrayPtr[1] is : " << *charArrayPtr[1] << endl;//编译错误非法的间接寻址
/*
charArray[] = {"abcde"}
charArray is : abcde
*charArray is : a
charArray[0] is : a
&charArray is : 0012FF58
*(int*)(charArray) is : 1684234849
(int*)(charArray) is : 0012FF58
sizeof charArray is : 6
sizeof char is :1
charArray[2] is : c
*charArrayPtr = charArray
sizeof *charArrayPtr is : 1
sizeof charArrayPtr is : 4
*charArrayPtr is : a
charArrayPtr is : abcde
&charArrayPtr is : 0012FF4C
*(int*)(charArrayPtr) is : 1684234849
请按任意键继续...
*/
}