亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C++变量类型详解:内存布局、取值范围与操作集

变量提供具名存储,程序可操控其值。每个变量拥有特定类型,决定三要素:

变量名由字母、数字、下划线组成,首字符须为字母或下划线。大小写敏感(C++区分大小写)。

七大基础类型

序号类型与说明
1

bool

仅存true或false。

2

char

通常占1字节(8位)。本质是整数类型。

3

int

机器最自然的整数尺寸(通常4字节)。

4

float

单精度浮点数。

5

double

双精度浮点数。

6

void

表示“无类型”,常用于函数无返回值。

7

wchar_t

宽字符类型,用于多字节字符集。

C++还支持枚举、指针、数组、引用、数据结构、类等派生/用户定义类型,后续章节展开。

变量定义

告诉编译器在何处、分配多少存储。语法:

type variable_list;

type为合法C++类型(含用户定义类),variable_list为一个或多个标识符(逗号分隔)。合法示例:

int i, j, k;
char c, ch;
float f, salary;
double d;

int i, j, k;同时声明并定义三个int变量。

初始化

定义时赋初值:

type variable_name = value;

示例:

extern int d = 3, f = 5; // 声明d、f并初始化
int d = 3, f = 5;        // 定义并初始化d、f
byte z = 22;             // 定义并初始化z(byte非标准类型,通常为unsigned char)
char x = 'x';            // x的值为字符'x'

未显式初始化时:静态存储期变量隐式初始化为NULL(全0);其余变量初值未定义(垃圾值)。

变量声明

向编译器承诺“存在该类型、该名字的变量”,使编译期通过;链接期需真实定义。跨文件共享变量时使用extern关键字声明。声明可重复,但定义在同一作用域仅允许一次。

跨文件声明/定义分离示例

#include <iostream>
using namespace std;

// 变量声明(通常在头文件)
extern int a, b;
extern int c;
extern float f;

int main() {
    // 变量定义(在源文件)
    int a, b;
    int c;
    float f;
    // 实际初始化
    a = 10; b = 20;
    c = a + b;
    cout << c << endl;
    f = 70.0/3.0;
    cout << f << endl;
    return 0;
}

输出:30 和 23.3333。

同理适用于函数:先声明int func();,后在任意处定义int func() { return 0; }。

左值与右值

合法:int g = 20;(g是左值)
非法:10 = 20;(10是右值,编译报错)

C语言

  1. 掌握 C++ 运算符:六大类型全解析与实战示例
  2. C++ 变量与数据类型全解析:int、double、char、string、bool 详细指南
  3. C++ 运算符全解析:类型、示例与示例程序
  4. C++ 指针精通:核心概念、代码示例与实战应用
  5. C++ char 类型完全指南:声明、ASCII 码、输入输出与字符串转换
  6. C 语言指针完全指南:类型、用法与最佳实践
  7. C 语言变量详解:类型、命名规则、定义声明与内存管理
  8. C++变量类型详解:内存布局、取值范围与操作集
  9. C++变量作用域全解析:局部变量与全局变量的区别与交互
  10. C++数据类型修饰符详解:signed/unsigned/long/short实战指南
  11. Java 基本数据类型:8 大类型完整指南与示例
  12. 理解 Java 变量类型:综合指南