高手看一下C语言的这道题
问题①:间址运算符是什么问题②:解析中为什么说*是指针运算符,在那个位置不应该是指针类型说明符吗,不应该是运算符呀...
问题①:间址运算符是什么问题②:解析中 为什么说*是指针运算符,在那个位置不应该是指针类型说明符吗,不应该是运算符呀
展开
2个回答
展开全部
问题①:间址运算符是什么问题
“*”符号在用于取值时,我们叫它“指针运算符”,或者叫它“间接寻址运算符”(简称是“间址运算符”),或许我们叫它“取值运算符”更贴切。它跟&相反,&是取一个变量的存放地址,而*是取一个指针指向的变量的值。如,先声明一个变量a:int a,再声明一个指针b:int *b,并把a的地址放到b中,这时用到了取址运算符&:b=&a。如果后面给a赋值3,可以用a=3完成,也可以用取值运算符:*b=3完成,两种方法起到的作用完全相同。如果要计算c=a+6,可以写成c=*b+3。
问题②:解析中 为什么说*是指针运算符,在那个位置不应该是指针类型说明符吗,不应该是运算符呀
前面分析过,“指针运算符“与”间址运算符“是同一个意思的两种叫法,在变量声明中,前面的*只是说明这个变量是指针型变量,跟运算符没有任何关系,如果不是在说明语句中,这个赋值的正确写法应该是p=&a,所以p前面的*只是一个变量类型说明符,你是对的![解析]中的说法是错误的,纯属误人!
“*”符号在用于取值时,我们叫它“指针运算符”,或者叫它“间接寻址运算符”(简称是“间址运算符”),或许我们叫它“取值运算符”更贴切。它跟&相反,&是取一个变量的存放地址,而*是取一个指针指向的变量的值。如,先声明一个变量a:int a,再声明一个指针b:int *b,并把a的地址放到b中,这时用到了取址运算符&:b=&a。如果后面给a赋值3,可以用a=3完成,也可以用取值运算符:*b=3完成,两种方法起到的作用完全相同。如果要计算c=a+6,可以写成c=*b+3。
问题②:解析中 为什么说*是指针运算符,在那个位置不应该是指针类型说明符吗,不应该是运算符呀
前面分析过,“指针运算符“与”间址运算符“是同一个意思的两种叫法,在变量声明中,前面的*只是说明这个变量是指针型变量,跟运算符没有任何关系,如果不是在说明语句中,这个赋值的正确写法应该是p=&a,所以p前面的*只是一个变量类型说明符,你是对的![解析]中的说法是错误的,纯属误人!
2018-02-02
展开全部
解析瞎说的
那就是个类型声明
那就是个类型声明
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询