->和.的区别

->是指针指向其成员的运算符
.是结构体的成员运算符

如:
struct A
{
int a;
int b;
};

A *point = malloc(sizeof(struct A));
point->a = 1;

A object;
object.a = 1;

#include<stdio.h>
#define N 8
typedef struct
{
char num[10];
double s[N];
double ave;
} STREC;

定义STREC *h 之后
h->ave==(*h).ave

主要用于访问类的成员,->主要用于类类型的指针访问类的成员,而.运算符,主要用于类类型的对象访问类的成员。
举例
class A
{public :int a}
A ma;
A *p=&ma;
那么指针p应使用->来访问成员a,比如p->a,而ma应使用.来访问,比如ma.a区别就在这里,凡是指针就使用->,对象就使用.运算符。
posted @ 2015-08-22 23:11  鸭子船长  阅读(842)  评论(0编辑  收藏  举报