int main() { int i; char *str = "hu mian yuan"; int length = strlen(str); printf("str的长度=%d\n", length); for (i = 0; i < length; i++) { printf("%c", *(str+i)); } return 0; }
对于刚刚接触指针的人来说,不免会对指针有一些小困惑,认为指针不是一般用来存储地址而已嘛,为什么有时候又可以像上面一样char *str="hu mian yuan";直接复值呢?
其实上面这种写法也只是赋地址而已,它实际的意义是吧这一字符串的第一个字母的地址赋给str;然后通过指针加一的方式,把所有指针地址都遍历,并且转换成%c形式,输出。
原文:https://www.cnblogs.com/hmy-666/p/11908712.html