char *p="Good Morning";
指针p
存储什么地址?
“早安”的每个字符都有不同的地址,因此p应该最初存储“G”地址。指针如何将自身增加到下一个位置?
答案 0 :(得分:2)
p
开始指向'G'
。
在C中,用于表示字符串的char*
指针指向第一个字符。这样一个字符串的结尾是一个隐含的'\0'
字符。
指针不会自行递增,但将其用作字符串的函数(例如puts(p)
)将在内部完成。
答案 1 :(得分:0)
指针p存储什么地址? “早安”的每个角色 具有不同的地址,因此p应该最初存储“G”地址。 指针如何将自身增加到下一个位置?
指针存储字符串第一个字符的地址。 (例如*p
与p[0]
相同,并且是存储在该地址的值 - G
)
指针增量由指针type
定义。指向字符串的指针,或更恰当的char *
指针的类型大小为1
(sizeof (char)
),因此递增指针(例如p++;
或p += 1;
)将指针增加1 - byte
到下一个字符。
类似地,整数指针int *foo
的增量为4 - bytes
(到下一个整数),基于sizeof (int);
为4
(通常)。