2 qq 33312212 qq_33312212 于 2016.04.29 09:10 提问

有关结构体及结构体指针的引用

(*stu).name

stu->name
在内存里面具体分别是怎么实现的啊 假设student 结构体指针为stu。
另外student是结构体的首地址吗

2个回答

CSDNXIAOD
CSDNXIAOD   2016.04.29 09:13

结构体&&指针
c语言结构体自引用指针
结构体指针的定义和引用
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

ZGZ1002
ZGZ1002   2016.04.29 13:11

请问你查出答案没?查出来,说出来分享下

qq_33312212
qq_33312212 回复ZGZ1002: student 不是地址只是数据类型 stu 编译器会把它换成首地址 访问时 两种方式都是首地址偏移相应成员的长度 因此指针访问效率较高 编译时少做一步 但机器语言没什么分别 就酱
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
结构体指针的定义和引用
指针变量非常灵活方便,可以指向任一类型的变量,若定义指针变量指向结构体类型变 量,则可以通过指针来引用结构体类型变量。 7.3.1 指向结构体类型变量的使用 首先让我们定义结构体: struct stu { char name[20]; long number; float score[4]; } ; 再定义指向结构体类型变量的指针变量: struct stu *p1, *p
一个简单的结构体与指针的题目:测测你的功力有多深?
刚学C语言结构体与指针时,对这个题目的理解我耗费了好长一段时间,地址,地址的内容……哎,今天分享一下。个人认为,这是一个简单但又不简单的题目,有些小陷阱,所以,元芳,看你的了。   假设变量a的地址为:0x12345678 #include struct A {      int i;      int *p; };   int main(int argc, char* ar
Golang学习笔记 结构体和指针
Golang是一门很特殊的语言,虽然它出生比较晚,但是在很多地方却和现在的编程语言有所不同。现在的编程语言要么是函数式的、要么是面向对象的,而Go语言却有指针、结构体这些概念,并解决了C语言的一些坑。从这个角度上说,Golang可以看做C语言的填坑加强版。结构体定义结构体定义结构体和C语言一样,使用struct关键字。在结构体内部定义它们的成员变量和类型。如果成员变量的类型相同还可以把它们写到同一行
关于结构体嵌套结构体指针的运用
这是个例子  ,自己看吧! #include #include #include struct student { char * name; char * id; char * great; }; struct test { struct student *std; }; int main() { struct test * p =
C语言结构体指针在函数调用中的使用
接触嵌入式编程已经有一段时间了,平时的编程中会经常遇到结构体,但是就直接拿来用了,没有注意过细节,结果遇到问题就纠结了。趁这个机会,研究了一下C语言的结构体和结构体指针,顺便总结一下! 注:关于结构体的三种形式,可以自己研究研究。 我实验的程序如下: #include struct stu { char name[20]; long number; float s
利用结构体作为函数参数时结构体指针的定义
在利用结构体作为函数的参数进行传递时,容易犯的一个错误是将一个野指针传给函数导致错误。 #include #include #include #define MAXSIZE 10 typedef struct { int r[MAXSIZE]; //用于存储要排序的数组,r[0]作为哨兵或者临时变量 int length; //用于记录顺序表的长度 }Sq
C++中指针、引用、结构体传值解析
#include "stdafx.h" #include void test1 (int &param); typedef struct  str2{ int c; int d; }; typedef struct  str1{ int a; int b; int c[10]; str2 teststr; }; void structcopy(str1 &p
结构体初始化及结构体指针.结构体数组.结构体函数的调用赋值等
#include "stdio.h" #include "stdlib.h" #include "string.h" int fun(void); int ARRSCORE[3]={133,123,124};    //学生  姓名 性别  年龄 考试成绩 struct STWDENT {     char name[10]; char sex; int age; i
C 语言通过结构体成员获得结构体指针
通过结构体成员拿到结构体的指针,是C语言实现继承多态的基础。面向对象C编程可以参看这里OOC 面向对象C语言编程实践。这里详细介绍这个核心的操作方法。 /** * Get struct pointer from member pointer */ #define StructFrom2(memberPtr, structType) \ ((structType*) ((char*) m
Linux C 深入分析结构体指针的定义与引用
练习一、写出一个模拟时钟程序 代码如下: #include #include #include #include typedef struct Clock { int hour; int minute; int second; }Clock; update(Clock *p) { p->second++; if(p->second ==