2012-01-18 61 views
2
struct _Structure{ 
    int member; 
}; 

结构指针结构指针实现方法

指针结构

有上述2短语

在我看来有什么区别,两者的短语代表着不同的指针实例

Structure Pointe [R

typedef struct _Structure *SP; 

SP sp; 

指针结构

typedef struct _Structure PS; 

PS *ps; 

虽然关于_Structure的数据成员访问均具有相同的代码剪断

sp->member; 
    AND 
ps->member 

如果这两个短语是SAME,OK NOPS!

此外这一点,我们为什么需要

typedef struct _Structure *SP; 

SP *sp; 

//note: here 'sp' is like double pointer 

感谢, 阿米特

+1

你究竟在问什么? – 2012-01-18 11:36:46

回答

0

有两个表达式结构指针指针没有区别构建

并且spps变量之间没有区别。两者都是指向结构的指针。在typedef或变量声明中使用*没有区别。

1

如果您扩大typedefs,则spps的类型都是struct _Structure *。在这方面,它们之间绝对没有区别。

显然,typedefs本身(SPPS)具有不同的语义,因为一个是指针,另一个不是。

在最后一个例子,sp不是双,它双指针。双指针在某些情况下很有用,但比单指针使用频率低。

0

没有区别,更在在

typedef struct _Structure *SP; 

SP *sp; 

//note: here 'sp' is like double pointer 

你不需要这个。如果你这样做,你只会有一个指针指向你所说的指针。

0

在我看来,这两个短语是等价的。两者都需要实现struct。这只是一个编程偏好,它指向一个指针并声明它或声明一个指向struct的指针。