关于一维数组和一位字符串的问题,输出内容不同

vc_engineer 2008-12-11 02:14:00
#include<iostream.h>

void main()
{
int a[3]={1,2,3};
// cout<<&a<<endl;

cout<<a<<endl;

char b[]="you !";
// cout<<&b<<endl;

cout<<b<<endl;
}
以上这段代码,为什么一个输出地址,另一个输出内容呢。这是为什么?
...全文
166 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
herman~~ 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fengxuxing 的回复:]
cout除了对所有基本类型进行了重载之外,
还对这四种四种类型进行了重载
const char*
const signed char *
const unsigned char *
void *
按照理解来讲,除了字符串,其他所有的类型指针全部看成void*,实现是输出是指针的值,也就是地址。
--c++ primer plus

[/Quote]


学习
Big鹏 2008-12-11
  • 打赏
  • 举报
回复

C语言里面,char * 与char []是一样的,都是指字符串,
这很特殊,相当于C++里面的string。
当输出首地址时,就会把字符串全输出来,如果想取首地址的话,请用printf("%p\n",b);
Qlaiaqu 2008-12-11
  • 打赏
  • 举报
回复
cout除了对所有基本类型进行了重载之外,
还对这四种四种类型进行了重载
const char*
const signed char *
const unsigned char *
void *
按照理解来讲,除了字符串,其他所有的类型指针全部看成void*,实现是输出是指针的值,也就是地址。
--c++ primer plus
wiowei 2008-12-11
  • 打赏
  • 举报
回复
字符串虽然是指针,不过在输出流可以看成一种类型
张赐 2008-12-11
  • 打赏
  • 举报
回复
这个就是整型数组和字符数组的区别。

首先字符串的名字就是指向这个字符串首地址的指针。

在输出字符数组的时候,系统会一直一个一个从字符数组的第一个字符开始读,一直读到字符串结束符\0为止,所以给一个首地址就可以读出所有字符。

但是整型数组确不是这样。
ccl3311 2008-12-11
  • 打赏
  • 举报
回复
数组与指针是相通的,直接输出数组名,相当于输出了一个指向数组第一个元素的指针的值;
char型数组被当作char*型的字符串处理,直接输出按字符串(从指针指向的字符开始到字符串结束标志'\0')表示。
其它类型的数组没有这种变换。
梦之安魂曲 2008-12-11
  • 打赏
  • 举报
回复
#include <iostream.h>

void main()
{
int a[3]={1,2,3};
// cout < <&a < <endl;

cout < <a < <endl;

char b[]="you !";

cout < <b < <endl;//这两句相当于。 char *b="you!"; cout<<b;应该是编译器作了判断,毕竟字符串的输出也是靠地址指针指定位置。
}
内容概要:本文系统研究了构网型变流器的正负序阻抗解耦特性及其在弱电网环境下的稳定性表现,重点依托Matlab/Simulink仿真平台,构建了详细的阻抗数学模型,设计了解耦控制策略,并采用小信号扫频法进行频域辨识与稳定性验证。研究深入探讨了构网型变流器与传统跟网型逆变器在正负序阻抗特性上的本质差异,结合虚拟同步发电机(VSG)等先进控制技术,分析其在抑制宽频带振荡、削弱锁相环动态耦合等方面的优越性。文中不仅提供了完整的仿真模型与MATLAB代码实现,还整合了光伏、风电、储能、微电网等多类新能源系统的阻抗建模与稳定性分析资源,形成了一套面向新型电力系统稳定性的综合性技术资料体系,具有较强的科研复现与工程参考价值。; 适合人群:面向具备电力电子、电力系统自动化、新能源并网等专业背景的研究生、高校教师及工程技术人员,特别适用于从事阻抗建模、小干扰稳定性分析、宽频振荡机理研究以及撰写高水平学术论文的科研工作者。; 使用场景及目标:①掌握构网型变流器正负序阻抗建模与扫频辨识的仿真方法;②深入理解VSG等构网型控制在弱电网中提升稳定性的内在机理;③复现顶刊论文中的阻抗分析流程与稳定性判据应用;④利用提供的成熟模型与代码加速科研进程,支撑课题研究与学术成果产出。; 阅读建议:建议结合文中提供的Simulink模型与MATLAB代码,按照“理论建模—仿真搭建—扫频激励—频响提取—Nyquist判据分析”的完整流程进行实践操作,重点关注扫频信号的注入方式、频率范围设置及阻抗曲线的物理意义解读,并参考博士论文复现案例深化对复杂动态耦合问题的理解。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧