字符数组,指针随记(11.30更新)
char s[]="hello";
//&s是存放s首地址的地址
//&s[0]是首元素的地址,也是数组的首地址,&s[0]等价于s,s[0]仅仅是个字符
//s+1偏移一个单位,输出ello
//&[2]输出字符串llo,&[3]输出字符串lo,(输出的是字符串)
char *s[5]={"h","e","l","l","o"};//声明指针数组,每一个元素都是一个指针
//&s[1],&s[2]是不同的地址值
// 这里解决一下流光的疑惑
char s[6]={'h','e','l','l','o'};
char *p[6];
p[i]=&s[i];// 这里不写循环了,p[i]储存s[i]的地址
//若要输出单个字符的地址,p[i]是不行的(会输出i后的字符)
//正确的表达式:(void*)p[i]
//c++把cout<<字符型指针用于输出字符串, 即编译器把他解释为输出字符串中的字符
// 要想输出地址,强制转换为别的类型即可(int什么的也行)
char (*s)[4];//数组指针(在二维数组是行指针),s是char[4]类型的
2021年 November 24日|23:51 
目录: 提问、复习等 标签:,C++, 指针, 数组
欢迎留下你的评论~~
订阅
登录
0 Comments