3408|8

79

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于结构体定义的一个小问题 [复制链接]

见到有人这样定义结构体
typedef struct
{
    int a;
    int b;
}TestStruct, *TestStruct;
以上结构体定义*TestStruct是不是表示 TestStruct*的意思?如果定义一个结构体变量
TestStruct temp;
这个temp到底是结构体变量呢还是结构体指针?

最新回复

typedef struct { int a; int b; }TestStruct,*p; p=&TestStruct; 在链表里就是很好的应用啊,  详情 回复 发表于 2011-5-4 11:05
点赞 关注

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
我正遇到这个问题 也有这个疑问 呵呵 帮顶
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

板凳
 


  1. typedef struct
  2. {
  3.     int a;
  4.     int b;
  5. }TestStruct, *TestStruct;
复制代码

lz应该写错了吧,TestStruct, *TestStruct都重名了,我改一下吧!

  1. typedef struct
  2. {
  3.     int a;
  4.     int b;
  5. }TestStruct, *pTestStruct;
复制代码

此处pTestStruct表示的是 TestStruct *的意思,即pTestStruct tmp;表示TestStruct *tmp;
也就是说tmp是个指向TestStruct的指针。
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
tmp是一个TestStruct的结构体变量。

如果定义
pTestStruct pTmp = NULL;
那么这个pTmp就是TestStruct结构体的指针变量了。
可以
pTmp = &tmp;
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
这个纯粹是编程规范问题,暂且不论其正确与否,作为一个合格的程序员角度,还是写得严谨一些比较好,如上面同志写的
将*TestStruct 改为--》*pTestStruct;意图表示指针类型,想法比较好。不过常规情况下,对于指针变了采用pXX打头,但是类型一般不会这么定义,而是在后门加_s等。如*TestStruct_S

引用 2 楼 maplewasp 的回复:


C/C++ code
typedef struct
{
    int a;
    int b;
}TestStruct, *TestStruct;



lz应该写错了吧,TestStruct, *TestStruct都重名了,我改一下吧!

C/C++ code
typedef struct
{
    int a;
    int b;
}TestStruct, *pTestStruct;



此处pTestStruct表示的是 TestStruct *的意思,即pTestStruct tmp;表示TestStruct *tmp;
也就是说tmp是个指向TestStruct的指针。
 
 
 

回复

473

帖子

0

TA的资源

纯净的硅(高级)

6
 
学习中
 
 
 

回复

256

帖子

0

TA的资源

一粒金砂(高级)

7
 
我给一个定义吧,参照资料的:
typedef struct
{
int a;
int b;
}TestStruct,*p;
p=&TestStruct;
这样写比较严格而且易懂,
    意义:通过引用结构体变量的指针变量,引用结构体变量成员
 
个人签名追求卓越,成功就会在不经意间追上你
 
 

回复

256

帖子

0

TA的资源

一粒金砂(高级)

8
 
共同探讨,一起学习
 
个人签名追求卓越,成功就会在不经意间追上你
 
 

回复

256

帖子

0

TA的资源

一粒金砂(高级)

9
 
typedef struct
{
int a;
int b;
}TestStruct,*p;
p=&TestStruct;
在链表里就是很好的应用啊,
 
个人签名追求卓越,成功就会在不经意间追上你
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表