请问C语言中的"."、"*"、"->"、"&"都有什么作用和区别?

如题所述

你好!!!
1.‘.’是使用对象的成员(数据成员或是函数承成员.)举个例子:

struct A//结构体
{
int x;
int y;

};

A a,定义一个结构体变量a,那么此时要想使用变量x,那么那就可以用:a.x,就可以使用x的值了。
要是定义结构体指针变量即:A *a,那么要是使用使用变量x,就得:a->x,就可以使用x的值了。

再比如:
int *a,b=3;a=&b;
此时定义一个整形指针变量a,即指针a指向的值是整形数据,前面的‘*’代表此时我们声明的变量时指针变量(指针变量的值是地址不是数据),a=&b;
表示把变量b的地址赋给指针,此后的"&b",中的‘&’是取地址符号即变量b所在的内存单元的编号。使指针变量指向b所在的内存单元,那么要是用指针使用b的数据即3,可以使用:*a,此时的‘*’代表使用指针变量所指向的值,
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-19
"." "->"用于结构体变量的引用
"*" 1、是算术运算中的乘号
2、指针时使用
"&" 1、取地址运算符
2、按位与
3、引用变量的定义
相似回答