‘壹’ *在前面和*在后面的区别c语言
* 用作 取值运算符时,形式是: *指针变量,它是 单目运算符,顺序:右到左。
* 用作 乘号,形式是: 表达式*表达式,它是 双目运算符,顺序:左到右。
*= 用作 乘后赋值,形式是: 变量*=表达式
*q=p* 这个是取p的地址赋值给q吗? 不是, 这里 后一个 星号是 乘法运算符,后面还有东西,例如:
*q=p*5;
若是 取p的地址:
若是 int *q; int p; 则 q=&p;
若是 int *q; int *p; 则 q=p;
若是 求值:
若是 int *q; int p; 则 *q= p;
若是 int *q; int *p; 则 *q = *p;
‘贰’ C语言中“指针”和“指针变量”的区别是什么
1、概念不同
“指针”是概念,“指针变量”是具体实现,指针也是一个变量,所以需要进行定义,而对于指针的定义,与一般变量一样。
2、 存放地址不同
一个变量的(内存)地址称为该变量的“指针”,通过指针能找到以它为地址的内存单元。而指针变量是用来存放另一个变量的地址的(即指针)。
(2)c语言指针前后有什么区别扩展阅读:
指针和指针变量的关系
1、指针就是地址,地址就是指针。
2、地址就是内存单元的编号。
3、指针变量就是存放内存地址的变量。
4、指针和指针变量是两个不同的概念,但要注意的是,通常我们叙述时会把指针变量简称为指针,实际他们含义并不一样。
注:
指针里存的是100. 指针:地址 - 具体。
指针里存的是地址,指针:指针变量 -可变。
指针的好处:
1、直接访问硬件
2、快速传递数据(指针表示地址)
3、返回一个以上的值返回一个(数组或者结构体的指针)
4、表示复杂的数据结构(结构体)
5、方便处理字符串
6、指针有助于理解面向对象