#include <stdio.h>
#include <iostream>
using namespace std;
int main () {
char ch[5] = "abcd";
printf("%c,%p\n",ch[0],&ch[0]);
printf("%c,%p\n",ch[1],&ch[1]);
cout << "-----------" << endl;
int i[5] = {1,2,3,4,5};
printf("%d,%p\n",i[0],&i[0]);
printf("%d,%p\n",i[1],&i[1]);
cout << "-----------" << endl;
string str = "abcde";
printf("c,%p\n",str.c_str()[0],&str.c_str()[0]);
printf("c,%p\n",str.c_str()[1],&str.c_str()[1]);
return 0;
}
结果:
a,0x7fff0ad71e0
b,0x7fff0ad71e1
-----------
1,0x7fff0ad71c0
2,0x7fff0ad71c4
-----------
a,0x1a04028
b,0x1a04029
分析:
char占1个字节
int占4个字节
string的字符占1个字节