那要看你的结构体里面有什么成员,如果结构体定义成struct abc{ unsigned char b[10];};p->a[0]; // 是错误的,因为abc里面没有a这个成员,只有b这个成员p->b[0]; // 这样才是正确的只要知道一点就行了,结构体变量或指针,只能调用结构体内部成员的,没有的成员统统不能调用 追问 如果结构体中有a[10]这个成员,那么p->a[0]中p指向的是结构体内的成员吧?和外部又定义的a[10]没有关系吧? 追答 没任何关系,结构体变量或指针,调用的仅仅是结构体里面的成员,无论你名字是怎样,都跟外面的变量无任何关系 追问 谢谢你,呵呵