如题所述
&是取地址运算符,&L_element得到的就是L_element在内存中的存储地址(比如2000)
*用在指针变量前面,如果要定义一个指针变量,要用如下形式:类型名 *指针变量名,
这里,double表明该指针指向的数据类型是double。
但是注意,这里必须是一个变量,而&L_element是一个常量,因此不能作为指针变量名。
那么,我们可不可以把 &L_element 整体作为一个指针变量名呢?
答案是不可以,根据c语言规则,变量名只能由 字母、数字、下划线组成,并且第一个字符不能是数字。
所以,这是一个非法的定义,违反C语言语法规则。
*用在指针变量前面,如果要定义一个指针变量,要用如下形式:类型名 *指针变量名,
这里,double表明该指针指向的数据类型是double。
但是注意,这里必须是一个变量,而&L_element是一个常量,因此不能作为指针变量名。
那么,我们可不可以把 &L_element 整体作为一个指针变量名呢?
答案是不可以,根据c语言规则,变量名只能由 字母、数字、下划线组成,并且第一个字符不能是数字。
所以,这是一个非法的定义,违反C语言语法规则。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-04-16
double a = 1.23, b=4.56;
duoble *p = &a;
double *&L_element = p;
L_element = &b;
这时候, p == &b;
duoble *p = &a;
double *&L_element = p;
L_element = &b;
这时候, p == &b;
在 double *&L_element = p;
& 表示 引用. 意思是 L_element 就和 p 等效了.
引用必须的在定义的时候就赋值.
引用是C++才有的(最新的C标准有没有引用我不清楚).