社区
C++ 语言
帖子详情
整型指针强制转化为字符指针后,自身保存的地址变化了?
Renzhiheng
2011-06-16 12:02:05
int main(){
int i= 10;
int * pInt;
pInt=& i;
char * pChar;
pChar= (char *)pInt;
cout<< pInt<< endl;
cout<< pChar<< endl;
return 0;
}
请问:pInt和pChar为何会不一样?我理解pInt=pChar=&i=编译系统分配的一个特定内存编号。这个编号不会因为指针指向什么数据类型而转变的吧?
...全文
401
14
打赏
收藏
整型指针强制转化为字符指针后,自身保存的地址变化了?
int main(){ int i= 10; int * pInt; pInt=& i; char * pChar; pChar= (char *)pInt; cout<< pInt<< endl; cout<< pChar<< endl; return 0; } 请问:pInt和pChar为何会不一样?我理解pInt=pChar=&i=编译系统分配的一个特定内存编号。这个编号不会因为指针指向什么数据类型而转变的吧?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fox_ocean
2011-06-16
打赏
举报
回复
[Quote=引用 7 楼 renzhiheng 的回复:]
4楼的回复我不是很明白。
类型不同
所以 一个输出地址 一个输出内容
1)pInt是int指针变量,cout输出地址,这个我能理解。
2)pChar是char指针变量,cout为何就不输出地址呢?而是空白?
[/Quote]
cout 会自动识别他的参数类型,pChar是一个字符指针,所以就会是内容,而10转换成字符时是一个不可打印的字符,自然输出是空白了,
就想叫yoko
2011-06-16
打赏
举报
回复
cout 重载的 <<运算符 参数为char*类型时 把这个地址指向的内容按字符串输出 直到遇到'\0'
Renzhiheng
2011-06-16
打赏
举报
回复
4楼的回复我不是很明白。
类型不同
所以 一个输出地址 一个输出内容
1)pInt是int指针变量,cout输出地址,这个我能理解。
2)pChar是char指针变量,cout为何就不输出地址呢?而是空白?
就想叫yoko
2011-06-16
打赏
举报
回复
改成
printf("%p\t%p\n", pChar, pInt);
就能看到他们存储的都是i的地址
cout char* 输出 是把i地址的内容当字符串处理 输出直到遇到'\0'
jernymy
2011-06-16
打赏
举报
回复
[Quote=引用 2 楼 liao05050075 的回复:]
自然是一样的
只是输出的时候,你用cout 去输出一个char*,它默认按字符串来输出, 所以你看到的结果不同
你改成
printf("%p,%p", pInt, pChar)看看
[/Quote]
建议使用printf
c_losed
2011-06-16
打赏
举报
回复
[Quote=引用 3 楼 renzhiheng 的回复:]
我理解,pChar=pInt=int变量i的地址啊。
[/Quote]
类型不同
所以 一个输出地址 一个输出内容
Renzhiheng
2011-06-16
打赏
举报
回复
我理解,pChar=pInt=int变量i的地址啊。
liao05050075
2011-06-16
打赏
举报
回复
自然是一样的
只是输出的时候,你用cout 去输出一个char*,它默认按字符串来输出, 所以你看到的结果不同
你改成
printf("%p,%p", pInt, pChar)看看
ouyh12345
2011-06-16
打赏
举报
回复
cout<< pChar<< endl;
不是输出pChar的地址
zyc_glboy
2011-06-16
打赏
举报
回复
[Quote=引用 13 楼 renzhiheng 的回复:]
那cout<<pInt的时候,为何不是将指针指向的int变量a=10,按照int型输出呢?
cout的意思,是不是:
1)cout<<int指针时,输出指针保存的地址值。
2)cout<<char指针时,输出指针所指向变量的值。
有什么办法,能够cout一个char真实的指针?
[/Quote]
重载<<
Renzhiheng
2011-06-16
打赏
举报
回复
那cout<<pInt的时候,为何不是将指针指向的int变量a=10,按照int型输出呢?
cout的意思,是不是:
1)cout<<int指针时,输出指针保存的地址值。
2)cout<<char指针时,输出指针所指向变量的值。
有什么办法,能够cout一个char真实的指针?
赵4老师
2011-06-16
打赏
举报
回复
摒弃cout;使用printf!
liao05050075
2011-06-16
打赏
举报
回复
将指针所指向的变量i,按照字符串输出
Renzhiheng
2011-06-16
打赏
举报
回复
现在的问题是:{cout<< pChar}的时候。pChar是个指向char数据类型的指针,那么是将指针保存的地址按照字符串输出,还是将指针所指向的变量i,按照字符串输出?
从0开始学c语言-20-
指针
与
地址
、
指针
类型、野
指针
、
指针
运算
归根结底,
指针
就是一个存放
地址
的变量,本质上
指针
是个
地址
变量。
指针
就是有指向性的
地址
,
地址
在运用的时候便有了指向性,变为
指针
。再或者说,因为
地址
需要一个变量来
保存
或者表示,所以便出现了
指针
。存放在
指针
中的值都被当成
地址
处理。
指针
是用来存放
地址
的,
地址
是唯一标示一块
地址
空间的。
指针
的大小在32位平台是4个字节,在64位平台是8个字节。
【嵌入式——C语言】
指针
嵌入式-C语言-
指针
c语言空
指针
可以寻址吗,杂记之C语言之
指针
(一)
//#用
指针
注意两点。1.初始化 2、空
指针
、野
指针
和void 型
指针
/*不能出现野
指针
,可以出现空
指针
和void 型
指针
,空
指针
不能访问。void 型
指针
只有通过
强制
类型转换后才可以访问,否则也不能访问 */#includeint main(void){int i;int *pi=&i;//表示定义一个指向int型的变量
指针
pi,并用i的
地址
(为一常数)来初始化pi/*虽然pi的
地址
跟p...
C语言08-
指针
二
本文系统讲解了C语言中
指针
相关的高级概念与应用,文章通过大量代码示例演示了各类
指针
的声明、使用场景和注意事项,特别强调了
指针
类型转换、内存管理和函数参数传递等关键知识点。
基于低秩逼近代理模型的N-1安全约束经济调度快速计算方法(Matlab代码实现)
内容概要:本文介绍了基于低秩逼近代理模型的N-1安全约束经济调度快速计算方法,并提供了完整的Matlab代码实现。该方法针对电力系统中N-1故障场景下的安全约束经济调度(SCED)问题,提出采用低秩逼近技术构建高效代理模型,有效降低高维优化问题的计算维度与复杂度,显著提升多场景下调度方案的求解效率。文中系统阐述了数学建模过程、代理模型构造原理、低秩近似算法推导及其实现流程,特别适用于含高比例可再生能源接入、存在大量不确定性因素的现代电力系统优化调度,能够在保障计算精度的同时满足实时性与准实时性应用需求。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力的研究生、科研人员和工程技术人员,尤其适合从事电力系统经济调度、安全稳定分析、不确定性建模与高性能计算等相关领域的专业人士。; 使用场景及目标:①应用于大规模电力系统在N-1故障条件下的快速安全校核与经济调度决策支持;②为高渗透率新能源接入的电力系统提供高效的多场景优化求解方案;③支撑日前调度、实时调度等对计算速度与精度均有较高要求的工程应用场景。; 阅读建议:读者应结合所提供的Matlab代码深入理解算法实现细节,建议在标准测试系统上复现并调试程序,以掌握低秩逼近方法在电力系统优化中的具体应用技巧,并可根据实际研究方向进行模型拓展、性能对比与算法改进。
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章