社区
C语言
帖子详情
数组指针的问题:char s[], &s, s, *s
alula
2002-04-20 11:52:48
一个测试:
char s[] = {'H','H'};
printf("&s=%d;s=%d;*s=%c;\n", &s, s, *s);
结果:
&s=6552048;s=6552048;*s=H;
&s=6552048表示s的地址是6552048.
s=6552048 表示s地址的内容是6552048,它指向自己.
那么
*s不是应该打印出自己的内容6552048吗?
...全文
130
12
打赏
收藏
数组指针的问题:char s[], &s, s, *s
一个测试: char s[] = {'H','H'}; printf("&s=%d;s=%d;*s=%c;\n", &s, s, *s); 结果: &s=6552048;s=6552048;*s=H; &s=6552048表示s的地址是6552048. s=6552048 表示s地址的内容是6552048,它指向自己. 那么 *s不是应该打印出自己的内容6552048吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lbl20020123
2002-04-20
打赏
举报
回复
同意楼上阿明所说的。*s相当于s[0].
mathe
2002-04-20
打赏
举报
回复
&s同s的区别是它们的类型不同,但是它们的值相同。
同样对于多维数组
a[2][2][2]
那么&a,a,a[0],a[0][0]的值全部相同,但是他们的类型都不同
挺拔的劲松
2002-04-20
打赏
举报
回复
同意楼上阿明所说的。*s相当于s[0].
alula
2002-04-20
打赏
举报
回复
楼上的,人家是看书了,就是不明白,才发问的。
海涵海涵。。
注意表述,字符串和字符数组不是一个概念的。
zhuimengrencn
2002-04-20
打赏
举报
回复
&s 得到字符串的首地址
s 代表字符串的首地址,《因为它是指针变量》
*s 代表字符串的第一个字符 *(s+1)代表字符串的第二个字符
老大请你回去好好地看一看书吧!!!!!!!
哦!我真受不了你!!!
neptunez
2002-04-20
打赏
举报
回复
&s和s都是首地址,这个地址的冬冬是H
简单?~
hammer_shi
2002-04-20
打赏
举报
回复
一个测试:
char s[] = {'H','H'};
printf("&s=%d;s=%d;*s=%c;\n", &s, s, *s);
结果:&s=6552048;s=6552048;*s=H;
&s=6552048表示s的地址是6552048.
s=6552048 表示s地址的内容是6552048,它指向自己.
那么 *s不是应该打印出自己的内容6552048吗?
//*s只是所指向的首地址的内容。 要打印全部内容的话则需要用*s++;
//s和&s则是指向地址.
wiler
2002-04-20
打赏
举报
回复
&s表示把字符数组作为整体的首地址
s表示字符数组第一元素的首地址
*s , s[?] 都表示数组的元素 ,所以打印出'H'
liem
2002-04-20
打赏
举报
回复
&s表示把字符数组作为整体的首地址
s表示字符数组第一元素的首地址
比较一下&s+1与s+1值
alexzhou
2002-04-20
打赏
举报
回复
同意笨笨翁
benbenweng
2002-04-20
打赏
举报
回复
同意wiler(贼狼)的说法
zhaoweikid
2002-04-20
打赏
举报
回复
对,*(s+1)相当于s[1]
指针
、
数组
、字符串:
char
*,
char
[],
char
**,
char
*[]的使用
数组
、
指针
、字符串
【C】 字符
数组
:
char
,
char
*,
char
a[],
char
*a[],
char
**s 的区别与联系
【题记:这个
问题
一直困扰了我多年,今天终于完全看明白了,于是尝试写一篇博客。 2020/10/18】 C语言中的字符串是字符
数组
,可以像处理普通
数组
一样处理字符串。 可以理解为在内存中连续存储的字符。 从实用主义而言,我们先给出结论。 我们会用到的一般有两种。 · 声明一个字符串:
char
* a = "abcdefg"; · 声明一组字符串:
char
* a[] = {"China","French","America","German"}; 原理 这里只考虑静态
数组
,在内存中划分了连续的地址空间。字
char
*,
char
**,
char
a[],
指针
数组
(
char
*a[]),
数组
指针
(
char
(*a)[])的一点理解
整合一些
指针
、
数组
、
指针
数组
、
数组
指针
的理解: 1、
数组
是多个元素的集合,在内存中分布在地址相连的单元中,所以可以通过其下标访问不同单元的元素。 2、
指针
也是一种变量,只不过它的内存单元中保存的是一个标识其他位置的地址。由于地址也是整数,在32位平台下,
指针
默认为32位,即4个字节。
指针
指向的直接意思就是
指针
变量所保存的其他的地址单元中所存放的数据类型。不论指向的数据类型为那种,
指针
...
char
、
char
*、
char
**
数组
平时都用的是
char
数组
,基本忘记了
char
*
数组
和
char
**
数组
该怎么用了
char
s1[10]; s1[0] s1[1]等都是
char
s1是
char
*,等同于&s1[0]
char
*s2[10]; s2[0] s2[1]等都是
char
* *s2[0] *s2[1]等都是
char
,是s2[0] s2[1]指向的字符串的第一个字符 s2
char
,
char
*,
char
**
数组
平时都用的是
char
数组
,基本忘记了
char
*
数组
和
char
**
数组
该怎么用了
char
s1[10]; s1[0]s1[1]等都是
char
s1是
char
*,等同于&s1[0]
char
*s2[10]; s2[0]s2[1]等都是
char
* *s2[0]*s2[1]等都是
char
,是s2[0] s2[1]指向的字符串的第一个字符 s2是
char
**,等同于&s2[0]
C语言
70,035
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章