C语言程序设计 指针变量赋值
发布网友
发布时间:2022-05-31 19:21
我来回答
共5个回答
热心网友
时间:2023-10-24 13:20
C语言 形式逻辑不成立(C语言的缺点!)。
int a[ 10] ,*p=a; 是声明,声明中 *p=a 表示p是指针,初始化把a数组的首地址赋给它。
*p=a;是语句,不是声明,形式一样,就不行了!
因为 语句 里,*p 表示p 指向的 值。
同样的形式,意思不同,形式逻辑不成立,(C语言的缺点!)。
初学者,人人遇到这个问题!
热心网友
时间:2023-10-24 13:20
要将指针指向的值赋值到变量上, 需要将指针指向的值取出,然后执行赋值操作。
对指针取值需要使用取值运算符*,这个符号和乘相同,但功能不同。用于取值时,*为单目运算,与后续的指针相结合,实现取指针指向的值的效果。
比如
int a = 10;
int b;
int *p = &a;
这时p指向变量a的地址,指向的值为10,要将其赋值给b,需要
b = *p;
热心网友
时间:2023-10-24 13:21
int *p;中的“*”说明定义的一个变量p是指针类型的。
而 *p中的“*”是一种操作,是取值操作。即去指针指向的那个值。
*p可看作是一个整形的变量。a则可以看成是一个指针。
热心网友
时间:2023-10-24 13:21
* 称为指针运算符 主要有如下两种用法:
* 出现在数据定义语句中时,*在数据类型与变量之间,是一个二元运算符,用来定义指针变量。例如:int * ip;
int a[ 10] ,*p=a;表示的也是定义一个指针变量 p 同时把a的首地址给p
* 出现在指针变量表达式左边时,是一个一元运算符,表示访问指针所指对象的内容。例如: int a =10; * p=a ; printf("%d",*p) 表示输出 a 的值10
热心网友
时间:2023-10-24 13:22
int *p; 代表定义指针变量
*p在语句中使用代表取值
但是如果是这样 int *p ,a[10];
*p=a;就不行了
正确的应该是 p = a;