热知识
- *: 指针,代表变量存储的是地址,使用*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]: 字符数组首项值
网友评论