struct和typedef struct
1 首先://注意在C和C++里不同
在C中定义一个结构体类型要用typedef:
typedef struct Student
{
int a;
}Stu;
在声明变量的时候就可:Stu stu1.这里的Stu实际上就是struct Student的别名。Stu==struct Student
另外这里也可以不写Student:
typedef struct
{
int a;
}Stu;
但在c++里很简单,直接
struct Student
{
int a;
};
于是就定义了结构体类型Student,声明变量时直接Student stu2, 然后stu2.a;
======================================================================================
在c++中typedef可用可不用。如果用typedef的话,又会造成区别:
struct Student
{
int a;
}stu1;//stu1是一个声明的变量 (同Student stu1)
使用时可以直接访问stu1.a
typedef struct Student2
{
int a;
}stu2;//stu2是一个结构体类型=struct Student
则必须先 stu2 s2; 然后 s2.a=10;
======================================================================================
typedef struct引用。 typedef struct和struct的区别:
typedef struct tagMyStruct
{
int iNum;
long lLength;
} MyStruct;
tagMyStruct是标识符,MyStruct是变量类型(相当于(int,char等))。
这语句实际上完成两个操作:
1) 定义一个新的结构类型
struct, struct tagMyStruct
{
int iNum;
long lLength;
};
分析:tagMyStruct称为“tag”,即“标签”,实际上是一个临时名字,不论是否有typedef struct 关键字和tagMyStruct一起,构成了这个结构类型,这个结构都存在。
我们可以用
struct tagMyStruct varName
来定义变量,但要注意,使用
c语言typedef struct用法。 tagMyStruct varName
来定义变量是不对的,因为struct 和tagMyStruct合在一起才能表示一个结构类型。
2) typedef为这个新的结构起了一个名字,叫MyStruct。
typedef struct tagMyStruct MyStruct;
因此,MyStruct实际上相当于struct tagMyStruct,我们可以使用MyStruct varName来定义变量。
typedef struct后面。转载自:https://www.cnblogs.com/qyaizs/articles/2039101.html
print、printf、scanf
1、print只是输出,没有格式控制,而printf可以根据需要,输出你需要的格式!
2、printf是格式化输出函数,它可以直接打印十进制,八进制,十六进制,输出控制符分别为%d, %o, %x
printf("aaaa%d%s",5,"bbbb"); %d表示插入数字,%s表示插入字符串,函数的后两个参数表示插入的实际内容。
c typedef struct?屏幕输出为: aaaa5bbbb
3、scanf()是格式输入函数,在使用scanf和printf函数时要加上#include <stdio.h>。
scanf是C语言的格式输入,函数作用:按照变量在内存的地址将变量值存进去。
一般格式:scanf(格式控制,地址表列)
scanf(“%d%d%d”,&a,&b,&c);
printf(“"a=%d;b=%d;"c=%d\n”,a,b,c);
运行情况:3 4 5 (回车)
屏幕输出:a=3,b=4,c=5
%d是格式说明,输入的为十进制整数,表示从键盘向&a,&b,&c这个地址输入整数,换句话就是说把变量所代表的空间里存储了输入的整数,所以前面的取地址符&不能漏写。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态