社区
C语言
帖子详情
怎么得到一个字符串在内存中的首地址?
find4me
2003-04-03 09:34:49
example:
char *p = "abcdefghijklmn!";
我怎么能得到p[0]的地址?
...全文
588
24
打赏
收藏
怎么得到一个字符串在内存中的首地址?
example: char *p = "abcdefghijklmn!"; 我怎么能得到p[0]的地址?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rena12
2003-04-03
打赏
举报
回复
%x 输出:错
%p 输出:对
cxjddd
2003-04-03
打赏
举报
回复
printf( "%p", p );//好象是这样的。
heartlove
2003-04-03
打赏
举报
回复
希望不是得到物理内存的地址,否则动用汇编或者VXD了
tinytot
2003-04-03
打赏
举报
回复
不过, 在调试的时候你可以看见字符串甚至字符串中每个字符的内存地址, 大家可以试一试.
lbaby
2003-04-03
打赏
举报
回复
晕~~~
tinytot
2003-04-03
打赏
举报
回复
p是一个指针. 指针和地址是由本质区别的.
tinytot
2003-04-03
打赏
举报
回复
严谨一点说: p里存放的是字符串"abcde...."的首地址.
p根本不是字符串的首地址. &p更不是字符串的首地址了.
liuheliaoshi7879
2003-04-03
打赏
举报
回复
printf("%x",p);
因为P存储的就是字符串的首地址,只需将它的值输出就可以
find4me
2003-04-03
打赏
举报
回复
请大家注意, 我只是要得到字符串的首地址. 而不是说要证明p就是字符串的首地址啦.
find4me
2003-04-03
打赏
举报
回复
地址和指向此地址指针当然不一样啊.
虽然在打印其值得结果都是一样.
char ch[] = { 'a', 'b', 'c', 'd', 'e', '\0' };
char *p = &ch[0];
cout<<p<<"\t"<<ch<<endl;
但是他们的内存结构是不一样的.
也就是&p和字符串ch的首地址是不同的, p这个变量里存放只是ch的首地址而已.
fhtao
2003-04-03
打赏
举报
回复
p就是指向字符串得首地址了
p = &p[0]
find4me
2003-04-03
打赏
举报
回复
^_^, 我是说用16进制的形式把地址给打印出来喲..............
用16进制表示地址才看起来顺眼嘿.
tinytot
2003-04-03
打赏
举报
回复
char format[20];
sprintf(format, "%x", &p[0]);
cout<<format<<endl;
tinytot
2003-04-03
打赏
举报
回复
char format[20];
sprintf(format, "%x", &pch[i]);
cout<<format<<endl;
lbaby
2003-04-03
打赏
举报
回复
回复人: find4me(ALY) ( ) 信誉:100 2003-04-03 09:42:00 得分:0
p只是指向字符串"abcde....."的首地址的指针而已.
Top
呵呵
原来在你眼里,地址和指向此地址指针不一样啊
cout<<"adress :"<<static_cast<int>(p)<<endl;
lwbhero
2003-04-03
打赏
举报
回复
&p 或 &p[0]
lplpzhuzhu
2003-04-03
打赏
举报
回复
对啦,p是指向字符串"abcde....."的首地址的指针,p[0]的地址就是这个指针指向的地址。
p跟&p[0]是一个东东
find4me
2003-04-03
打赏
举报
回复
指针p是一个指针变量, 其内容存放都是他指向字符串的地址而且喲.
指针p的地址并不是字符串的地址, 不信你们编程序试一试.........
find4me
2003-04-03
打赏
举报
回复
呵呵..那你们谁能把字符串的地址给我打印出来? 用C++的函数.不用c函数.
find4me
2003-04-03
打赏
举报
回复
p只是指向字符串"abcde....."的首地址的指针而已.
加载更多回复(4)
c语言
中
取
字符串
的
首
元素,C语言
字符串
@[toc]在很多教程
中
,
字符串
不过是
一个
以0结束的字符数组,但是,在我看来,
字符串
虽然不是C语言基本数据类型,但它比任何数据类型都重要,因为
字符串
是最常用的数据。一、
字符串
的概念我们可以把
字符串
储存在char...
用
首
地址
可以输出
字符串
的解释
明明s是个
首
地址
,为什么直接输出可以
得到
字符串
? char str[10] = {“hello world”}; 当编译器遇到这句时,会把str数组
中
从第
一个
元素把hello world\0 逐个填入。。 由于C语言
中
没有真正的
字符串
类型,可以...
C语言学习(4)——
字符串
和
内存
一、C语言
中
的
内存
分布区 1)BSS段(bss segment):常是指用来存放程序
中
未初始...在代码段
中
,
字符串
常量也属于这部分。 4)堆(heap):堆是用于存放进程运行
中
被malloc和free动态分配的
内存
段,它的大小并不固定.
字符串
的相关知识
字符串
的一些基本知识和一些作用于
字符串
的函数
关于
字符串
的
内存
分配问题
字符串
可以分配在栈,堆,和
字符串
常量区(静态数据区)
中
,这三种不同的
内存
结构具有不同的页(page)属性,这些属性决定了三种不同的
字符串
特性: 1.在栈上分配
字符串
在栈上分配
字符串
实质上又可以分成两种方法,...
C语言
70,011
社区成员
243,256
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章