c++中cout输出字符串首地址
来源:互联网 发布:没学历学编程难吗 编辑:程序博客网 时间:2024/06/09 19:38
char *p="hello";cout<<p;
c++语言中的解决方案:
用void*指向字符串,cout无法知道void*指针指向的数据的解析方法,所以会输出字符串的首地址,而在我们的印象中数组的名字,就是数组中元素的首地址。
#include <iostream>#include <string>using std::cin;using std::cout;using std::endl;using std::string;int main(){ char ch1[] = { 'a', 'b', 'c' }; char ch2[] = { 'a', 'b', 'c', '\0' }; char ch3[] = "abc"; char *ch = ch2; printf("%p\n",ch2);//C语言方式输出数组的首地址 cout << ch2 << endl;//我们意识中应该输出数组的首地址,实际输出的是指针指向的字符串 printf("%p\n",ch); cout << ch << endl; cout << &ch << endl;//这种形式输出的是数组首地址的存放地址 printf("%p\n",&ch); /*解决方法*/ void *ch11 = ch2; printf("%p\n",&ch2); cout << ch11 << endl; getchar(); return 0;}
对于其他类型的数组不会出现此种情况:
int a[] = { 1, 2, 3 }; cout << a << endl; printf("%p\n",a);输出的都是数组的首地址。
0 0
- c++中cout输出字符串首地址
- cout输出字符串地址
- cout输出字符串地址 http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631049c0666e04de3e69c0d0622e95
- C++中cout输出字符串问题。
- C/C++中printf、cout输出顺序
- C++中cout输出char指针地址值的方法
- Cout输出字符地址问题
- 使用cout格式化输出字符串
- 使用cout格式化输出字符串
- 使用cout格式化输出字符串
- 关于cout输出字符串指针
- 使用cout格式化输出字符串
- 使用cout格式化输出字符串
- 使用cout格式化输出字符串
- 关于cout输出字符串指针
- (C++)cout格式化输出示例
- (C++)cout格式化输出示例
- (C++)cout格式化输出示例
- MMU初始化
- Spring Batch示例: 读取CSV文件并写入MySQL数据库
- mysqli_connect(): (HY000/2002): Permission denied
- 开发WebService
- 功能测试工具Selenium IDE
- c++中cout输出字符串首地址
- Understanding Android dumpsys output for activity task record
- 欢迎使用CSDN-markdown编辑器
- 关于opencv 中cvCreateVideoWriter函数返回NULL情况的总结
- 【iOS】Button点击事件被其父视图点击手势UITapGestureRecognizer的屏蔽问题
- SVM(支持向量机)---学习和理解
- 中国经典成语故事——世外桃源中英文例句对译
- Android数据存储之文件
- 将Maven Dependencies Libraries移除后的恢复办法