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

送分小仙女□ 提交于 2019-12-05 05:12:18
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形式,输出。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!