C语言学习笔记--关于指针的一些小认知

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形式,输出。

posted @ 2019-11-21 22:00  兜里还剩五块出头  阅读(102)  评论(0)    收藏  举报