数据类型_类型,变量,成员;以及typedef
来源:互联网 发布:spss输入数据 编辑:程序博客网 时间:2024/06/05 10:07
(拾遗也是备忘)还是老样子,想说的话都在注释里,如果你的vs配色调得好的话应该比直接这么看省劲
比如
int a
就是 类型int 变量a
就这么简单,不要怕,只不过后来的类型都是自己编的而已,是同样的东西而已。成员是自己编的类型里的各种“数据项”【具体的就在下面第一个结构声明的注释里】
(学数据类型这一章时我 类型,变量,成员 都没搞懂(#捂脸),后来学了c艹才有感觉。。)
#include <stdio.h>struct A//定义A类型{int num;//成员numchar sex;}zhao;//变量zhao(A类型的)==========知识点分割线===============typedef struct B//B可加可不加,加了多余,否则B、C都存在并同样是这种类型{int num;}C;//P239 将变量名换成类型名并生成之,然后用它去定义变量void main(){struct A chen = { 100,'m' };printf("%d %c\n", chen.num, chen.sex);//struct A chen = { chen.num = 150};//不能多次初始化chen.num = 150;printf("%d %c\n", chen.num, chen.sex);B zhao = { 75 };//就像int a= 100;一样C li = { 65 };//B、C都可以代表同一个类型,但是不冲突printf("%d \n", zhao.num);printf("%d \n", li.num);typedef A D;//将A类型重命名为D类型/*struct D会报错,此处不需要struct*/D wang = { 95,'m' };printf("%d %c\n", wang.num, wang.sex);struct A xiang = { 93,'m' };//没报错,还能继续用!printf("%d %c\n", xiang.num, xiang.sex);//============知识点分割线===================================================typedef int CNM;CNM a = 10;printf("%d\n", a);int b = 5;//int仍然可以用哦~printf("%d\n", b);}
结构体成员变量定义有3种,(谭浩强 第四版 P295-P296)
1声明结构体类型 再 “类型 变量名”
2声明结构体类型 在尾巴分号前加 变量名
3*不指定类型名而直接定义结构体类型变量(这分明是就为了用一次啊,不打算再用这类型定义别的变量了)【如下】
struct {int num;//其他成员……}C;这样也就用这么样儿地(mun 其他成员)类型的变量C,想再定义别的变量都没名字让你找!
同时这也方便了这种typedef方式(防止像例子注释那样一下子定义两个一模一样却名字不同的数据类型)
typedef struct {int num;//其他成员……}C;
于是第三种“难以理喻”的声明方法就派上用上了~只有变量名而没有多余的类型名。
typedef int CNM;这样就能理解本来就上面一句这么简单的一个类型替换为上面难以理喻的“没有第一个类型的”typedef了吧~
P329中(4)#define(预编译时字符串替换)和typedef(编译时先生成一个类型名,再用它去定义变量)的区别:
typedef struct B//B可加可不加,加了多余,否则B、C都存在并同样是这种类型{int num;}C;//P239(谭浩强 第四版) 将变量名换成类型名并生成之,然后用它去定义变量
0 0
- 数据类型_类型,变量,成员;以及typedef
- 函数指针以及成员函数指针_成员变量指针
- typedef以及复杂数据类型解析
- J2SE_2_变量_数据类型
- 获取成员变量类型
- 变量、数据类型以及运算
- JS数据类型以及变量
- C++系列之基本数据类型、常量、变量、const、引用、typedef、枚举、类类型、编写自己的头文件
- bool类型的成员变量
- 数据类型2_浮点类型
- MySQL数据类型_数值类型
- Python中数据类型变量,编码以及格式化注意细节O(∩_∩)O
- 关键字_标识符_常量_变量_数据类型
- C++ static、const和static const类型成员变量声明以及初始化
- C++ static、const和static const类型成员变量声明以及初始化
- C++ static、const和static const类型成员变量声明以及初始化
- C++ static、const和static const类型成员变量声明以及初始化
- C++ static、const和static const类型成员变量声明以及初始化
- 目标检测之YOLO
- 拷贝构造函数
- mybatis的SqlMapConfig.xml文件的详细配置
- 获取指定应用的名称、版本等信息
- word转html
- 数据类型_类型,变量,成员;以及typedef
- python2.7用pip进行安装时报错Fatal error in launcher: Unable to create process using '"'
- s3c2440烧写整个系统(及利用Jlink下载u-boot)
- 文章标题
- springmvc详解及demo的搭建
- exynos 4412 时钟配置
- ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.
- mybatis的输入和输出映射
- 【技术分享】-Spring的IOC