[问题] 字符阵列问题

楼主: anoymouse (没有暱称)   2015-12-13 16:20:01
一个一维阵列 我知道阵列名称的内容跟位址都是阵列第一个值的位址
而阵列名称是指到某变量型态的指标
如果宣告一个int a[5]={1,2,3,4,5};
//假设第一个位址是0x28ff10
cout<<a<<endl;//0x28ff10
cout<<&a<<endl;//0x28ff10
cout<<&a[0]<<endl;//0x28ff10
cout<<a[0]<<endl;//1
cout<<*a<<endl;//1
如果宣告一个char b[5]="abcd";
//假设第一个位址是0x28ff30
cout<<b<<endl;//abcd
cout<<&b<<endl;//0x28ff30
cout<<&b[0]<<endl;//abcd
cout<<b[0]<<endl;//a
cout<<*b<<endl;//a
如果我想要知道b的内容 应该也是0x28ff30吧 那要怎么表示出来呢?
另外 cout<<*&a<<endl;//0x28ff10 这是怎么回事?
cout<<*&b<<endl;//abcd
a跟b本身所在的位置为什么也有指标的功能呢?
谢谢
作者: Caesar08 (Caesar)   2015-12-13 16:40:00
goo.gl/GySmGn
楼主: anoymouse (没有暱称)   2015-12-13 16:45:00
谢谢 我看一下
作者: OPIV (Monitor)   2015-12-13 22:58:00
*&a = &a[0] = a(void *)b ?

Links booklink

Contact Us: admin [ a t ] ucptt.com