美文网首页
C语言--指针详解:指针各种情况字符数组和字符指针区别

C语言--指针详解:指针各种情况字符数组和字符指针区别

作者: SystemLight | 来源:发表于2022-05-18 16:43 被阅读0次

    热知识

    • *: 指针,代表变量存储的是地址,使用*var访问的是变量值的地址位置存储的内容
    • &: 取地址符,获取并返回变量的地址

    指针常用的使用方法及其含义

    众所周知字符串是特殊的char类型数组,数组在变量中传递的是首地址,当使用操作字符串的方法/函数时,它们都会读取到给定长度或者\0字符为止

    1. 指针方式定义字符串

    char *s1 = "abcdefg";
    
    • &s1: 指针的地址

    • s1: 指针的值->字符数组首项地址
    • *(&s1): 指向指针的地址->指针的值->字符数组首项地址
    • &s1[0]: 字符数组首项地址

    • *s1: 指向指针的值->指向字符数组首项地址->字符数组首项值
    • *(&s1[0]): 指向字符数组首项地址->字符数组首项值
    • s1[0]: 字符数组首项值

    2. 数组方式定义字符串

    char s2[10] = "abcdefg";
    
    • &s2: 字符数组首项地址

    • s2: 指针的值->字符数组首项地址
    • *(&s2): 指向指针的地址->指针的值->字符数组首项地址
    • &s2[0]: 字符数组首项地址

    • *s2: 指向指针的值->指向字符数组首项地址->字符数组首项值
    • *(&s2[0]): 指向字符数组首项地址->字符数组首项值
    • s2[0]: 字符数组首项值

    相关文章

      网友评论

          本文标题:C语言--指针详解:指针各种情况字符数组和字符指针区别

          本文链接:https://www.haomeiwen.com/subject/jkpaurtx.html