指针的情况下*p
表示存储的值,p
表示地址(用于声明int *p
)。
根据以下声明,name
指向字符串“示例”。所以将是“E”,不是地址,而是实际值。那么下面的程序如何工作?我的意思是,我们正在增加价值本身,而不是指针(困惑)。使用C中的字符指针打印字符串
char *name="Example";
while(*name !='\0'){
printf("%c\n",*name++);
}
打印
E
x
a
m
p
l
e
运算符优先级 – Justin
请参见http://en.cppreference.com/w/cpp/language/operator_precedence –
“name指向字符串”示例“” - 编号'name'指向第一个字符'char'阵列。 C没有字符串类型。您的其他假设也不正确(或格式不正确 - 使用降价!) – Olaf