C语言struct和typedef struct的区别
来源:互联网 发布:unity3d控制虚拟人物 编辑:程序博客网 时间:2024/05/20 13:16
学习javaJNI的时候见到了如下代码:
#if 0typedef struct { char *name; /* Java里调用的函数名 */ char *signature; /* JNI字段描述符, 用来表示Java里调用的函数的参数和返回值类型 */ void *fnPtr; /* C语言实现的本地函数 */} JNINativeMethod;#endif
static const JNINativeMethod methods[] = {{"ledOpen", "()I", (void *)ledOpen},{"ledClose", "()V", (void *)ledClose},{"ledCtrl", "(II)I", (void *)ledCtrl},};当时把JNINativeMethod理解成了结构体变量,后来才从网上查找了关于typedef struct的作用:
注意在C和C++里不同
1.在C中定义一个结构体类型用typedef:typedef struct Student
{
int a;
}Stu;
于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明)
这里的Stu实际上就是struct Student的别名。Stu==struct Student
另外这里也可以不写Student(于是也不能struct Student stu1;了,必须是Stu stu1;)
typedef struct
{
int a;
}Stu;
struct Student
{
int a;
};
于是就定义了结构体类型Student,声明变量时直接Student stu2;
2.其次:
在c++中如果用typedef的话,又会造成区别:
struct Student
{
int a;
}stu1;//stu1是一个变量
typedef struct Student2
{
int a;
}stu2;//stu2是一个结构体类型=struct Student
使用时可以直接访问stu1.a
但是stu2则必须先 stu2 s2;
然后 s2.a=10;
1 0
- C语言中struct和typedef struct的区别
- C语言struct和typedef struct的区别
- typedef struct与struct的区别(C语言中的)
- C语言中typedef struct与struct的区别
- C语言中的struct和typedef struct
- C语言中 typedef struct 和 struct
- C/C++中typedef struct和struct的区别
- c语言结构体 和 typedef struct与struct的区别
- typedef struct和struct的区别
- typedef struct和struct的区别
- struct和typedef struct的区别
- struct和typedef struct的区别
- typedef struct和struct的区别
- struct和typedef struct的区别
- typedef struct 和 struct 的区别
- struct和typedef struct的区别
- struct和typedef struct的区别
- struct和typedef struct的区别
- 递归查询与迭代查询实例说明
- 开源PLM软件Aras详解七 在Aras的Method中如何引用外部DLL
- Android sensor架构(二)SystemSensorManager以及JNI、sensorService(and5.1)
- js 获取元素所有兄弟节点的实现方法
- 类似淘宝头条的view滚动第二种实现方式
- C语言struct和typedef struct的区别
- java 蓝桥杯 Sine之舞
- android中WebView附件问题解决
- mysql insert 相关的锁函数lock_rec_insert_check_and_lock 源码
- 4. dubbo在spring中的初始代
- 03程序设计的发展历程&C和C++关系
- 数据仓库的源数据分类
- 利用RegularExpression进行富文本设置练习
- 【外贸收款】拉美银行BBVA介绍