关于c语言结构体指针的问题

结构体指针只包含了结构体的首地址还是包含了所有成员的地址?还有结构体的首地址是什么,比如第一个成员是一个数组,那么首地址是不是就是这个数组的首地址?

结构体指针和数组首地址相同,代码验证

 #include "stdafx.h"
#include <iostream>

using namespace std;

struct A{
    int a[100];
};

int _tmain(int argc, _TCHAR* argv[])
{
    struct A aa;
    struct A *pA=&aa;

    cout<<hex<<pA<<endl;
    cout<<hex<<(pA->a)<<endl;


    return 0;
}

结构体,不是数组,没有首地址一说
结构体 对象的地址,就是分配给这个对象的地址
和int 地址一样
不过结构体有内部成员,
C 或者
C++POD类型

结构体对象的第一个成员的地址(如果有地址)
和结构体对象地址相同。

指针也可以指向一个结构体变量。定义的一般形式为:

struct 结构体名 *变量名;
前面已经定义了一个结构体 stu:

struct stu{ char *name; int num; char sex; float score;};

下面定义一个指向 stu 的指针变量 pstu:
struct stu *pstu;
当然在定义结构体的同......
答案就在这里:C语言结构体和指针
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

首先,指针是一个存放地址的变量,就好比一排房子,你要找的东西在这排房子的某一间内,但具体的房间编号在1号房内,那么要取到目标物就要先到1号房去把编号找到,然后根据编号去找对应的房间;
指针就是这个存放编号的房间,并且它只能放一个编号,不同类型的指针可以存放不同类型的指针;
要区分结构体类型 和 结构体变量,前者是定义一个数据类型(并不分配空间),后者是根据这个类型在内存中分配了具体的空间,
结构体变量是根据它的成员的类型依次分配空间的,各成员变量的内存分配是相邻的,所以第一个成员的地址就是这个结构体变量的地址.

结构体指针既是结构体首成员的地址,也是结构体的首地址。你说的是对的。
好比数组指针既是数组的首地址,也是数组第一个元素的首地址。

首先,指针是一个存放地址的变量,就好比一排房子,你要找的东西在这排房子的某一间内,但具体的房间编号在1号房内,那么要取到目标物就要先到1号房去把编号找到,然后根据编号去找对应的房间;
指针就是这个存放编号的房间,并且它只能放一个编号,不同类型的指针可以存放不同类型的指针;
要区分结构体类型 和 结构体变量,前者是定义一个数据类型(并不分配空间),后者是根据这个类型在内存中分配了具体的空间,
结构体变量是根据它的成员的类型依次分配空间的,各成员变量的内存分配是相邻的,所以第一个成员的地址就是这个结构体变量的地址.