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

热知识

  • *: 指针,代表变量存储的是地址,使用*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]: 字符数组首项值
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容