结构体名字是类型名,变量名是实体名,一个类型可以有许多实体。
具体 *** 作,举例讲解如下:
1结构体类型定义
定义方式1:
Typedef
struct
LNode
{
int
data;
//
数据域
struct
LNode
next;
//
指针域
}
LinkList;
定义方式2:
struct
LNode
{
int
data;
//
数据域
struct
LNode
next;
//
指针域
};
Typedef
struct
LNode
LinkList;
以上两个定义方式是等价的,是将LinkList定义为struct
LNode类型,即LinkList被定义为一个类型名。这样就可以用LinkList来定义说明新的变量了,如:
LinkList
L;
即将L定义为struct
LNode类型的指针变量
2结构体类型变量定义
定义方式1:
struct
LNode
{
int
data;
//
数据域
struct
LNode
next;
//
指针域
}LnodeA;
定义方式2:
struct
LNode
{
int
data;
//
数据域
struct
LNode
next;
//
指针域
};
struct
LNode
LnodeA;
以上两个定义方式也是等价的,这样就将LnodeA定义为一个truct
LNode类型的变量,即LnodeA为一个truct
LNode类型的变量名。
#include<stdioh>
#include<stringh>
int main()
{
char str[10];
gets(str);
if (!strcmp(str,"int")) printf("%d\n",sizeof(int)); else
if (!strcmp(str,"char")) printf("%d\n",sizeof(char)); else
if (!strcmp(str,"float")) printf("%d\n",sizeof(float)); else
if (!strcmp(str,"double")) printf("%d\n",sizeof(double));
return 0;
}
回答补充:
这里所谓的“数组”其实就是一个字符串啦,如果不用字符数组一起读入的话就得一个字符一个字符读入判断,除非保证输入都是合法的(那样可以只判断第一个字符),不然分支就太多了……
以上就是关于C语言中结构体类型名与变量名的区别全部的内容,包括:C语言中结构体类型名与变量名的区别、C语言输入数据类型名,输出所占字节。。。、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)