声明一个指向结构的指针
Declaring a pointer to a structure
有什么区别
struct point var, *varptr;
和
struct point *var;
我们可以只使用第二个而不给它分配任何变量地址吗?
在第一个例子中,var
是内存中数据类型为struct point
的变量,*varptr
是指向内存中数据的ADDRESS的变量“结构点”的类型。
第二个例子中的*var
与第一个例子中的*varptr
相同。它指向数据类型为“struct point”的内存位置。
不同的是这条语句创建了两个变量:
struct point var, *varptr;
它与使用 2 个语句具有相同的效果:
struct point var; // type struct point
struct point *varptr; // type pointer to struct point
这条语句创建了 1 个变量:
struct point *var; // type pointer to struct point
Can we just use the second one without assigning any variable's address to it?
是的,你可以使用第二个,但你会希望在取消引用指针之前将其初始化为某些东西(通常是另一个变量的地址)。
有什么区别
struct point var, *varptr;
和
struct point *var;
我们可以只使用第二个而不给它分配任何变量地址吗?
在第一个例子中,var
是内存中数据类型为struct point
的变量,*varptr
是指向内存中数据的ADDRESS的变量“结构点”的类型。
第二个例子中的*var
与第一个例子中的*varptr
相同。它指向数据类型为“struct point”的内存位置。
不同的是这条语句创建了两个变量:
struct point var, *varptr;
它与使用 2 个语句具有相同的效果:
struct point var; // type struct point
struct point *varptr; // type pointer to struct point
这条语句创建了 1 个变量:
struct point *var; // type pointer to struct point
Can we just use the second one without assigning any variable's address to it?
是的,你可以使用第二个,但你会希望在取消引用指针之前将其初始化为某些东西(通常是另一个变量的地址)。