C语言review之指针
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言review之指针相关的知识,希望对你有一定的参考价值。
1.一元运算符* 、&优先级比运算符的优先级高。
eg.*ip += 1 等同于 ++*ip 或者(*ip)++
注意,(*ip)++ 必须加括号,因为类似*和++这样的一元运算符遵循从右到左的顺序。
2.【指针与数组】计算数组元素a[i]的值,c语言实际上先将其转换为*(a+i)的形式,然后再求值。
eg.a[i] 与 *(a+i)、&a[i] 与 a+i 等价
注意,数组名与指针之间的一个不同,指针是一个变量,{pa = a,pa ++}是合法的,{a = pa,a++}是不合法的。
3.【指针与数组】
char *amessage [] = "now is the time";/*1*/ char *pmessage = "now is the time";/*2*/
第一行:amessage 是一个存放初始化字符串及空字符‘\0‘的一维数组;单个字符可以修改;amessage 始终指向同一个存储位置。
第二行:pmessage 是一个初始值指向一个字符串常量的指针;单个字符修改操作没有意义;pmessage 可以被修改指向其他地址。
4.【自增与自减运算符】后缀与前缀
1 if(s[i] != c) 2 s[j++] = s[i];
等价于
if(s[i] != c){ s[j] = s[i]; j++; }
以上是关于C语言review之指针的主要内容,如果未能解决你的问题,请参考以下文章