C++基础知识1:内建数据类型 vs 自定义数据类型
1. 内建数据类型(如 int、char)
定义:内建数据类型是 C++ 编译器预定义的基本类型,它们是语言的一部分。编译器知道这些类型的大小、存储方式、对齐规则等。
内存分配: 当你定义一个 int或 char变量时,编译器已经了解它们的内存布局及大小,因此直接在栈上为变量分配内存,并且知道如何进行初始化、销毁等操作。
2. 用户自定义数据类型(如 struct、class)
定义:用户自定义的数据类型是程序员定义的复杂类型,如结构体(struct)和类(class)。这些类型的大小、成员变量、成员函数、内存布局等都是由程序员定义的。编译器并不知道这些类型的具体细节,必须通过编译过程来确定。
区别:
内建数据类型可以直接定义变量,比如int a = 5;
自定以数据类型需要先定义再实例化,比如struct fun{int a, int b}; fun f1;
这里的fun的功能就和Int相似了,编译器知道了它是什么,然后我们直接定义变量之后就可以正常运行了。