c++ Primer 第二章 变量和基本类型
作者:互联网
2.1 基本内置类型
包括算术类型和空类型
2.1.1 算术类型
带符号类型和无符号类型
- 带符号类型:可以表示正数、负数或0
- 无符号类型:仅能表示大于0的值
2.1.2 类型转换
#include <iostream>
int main() {
bool b = 42; // b为真
int i = b; // i为1
std::cout << b << " " << i << std::endl;
i = 3.14; // i为3
double pi = i; // pi为3.0
std::cout << i << " " << pi << std::endl;
unsigned char c1 = -1;
signed char c2 = 256;
std::cout << c1 << " " << c2 << std::endl;
return 0;
}
2.2 变量
略
2.3 复合类型
引用和指针
2.3.1 引用
引用相当于别名,与一个已经存在的对象绑定起来
引用必须在定义时赋值
#include <iostream>
int main() {
int val = 1024;
int &refVal = val; //refVal指向val, refVal表示一个引用与val绑定起来
return 0;
}
2.3.2 指针
指针本身就是一个对象,允许对指针赋值和拷贝
指针无需再定义时赋值
#include <iostream>
int main() {
double val = 3.14;
double *pVal = &val;
//pVal表示指针指向变量val
std::cout << pVal << std::endl; //地址
std::cout << *pVal << std::endl; //值
return 0;
}
#include <iostream>
int main() {
double val = 3.14;
double *pVal = &val;
*pVal = 0; //通过指针改变val值
std::cout << pVal << std::endl; //地址
std::cout << *pVal << std::endl; //值
std::cout << val << std::endl; //值为0
return 0;
}
void 指针* 无法访问内存空间所存的对象
指向指针的指针
#include <iostream>
int main() {
int val = 1024;
int *pVal = &val;
int **ppVal = &pVal;
return 0;
}
2.4 const限定符
值不能被改变的变量
2.5 处理类型
2.5.1 类型别名
typeof
typeof longlong LL;
using
using SI = Sales_item;
auto类型
c++ 11 新特性
#include <iostream>
int main() {
auto i = 0;
auto c ='c';
std::cout << i << " " << c << std::endl;
return 0;
}
2.6 自定义数据结构
2.6.1 Sales_data
#include <iostream>
#include <string>
struct Sales_data {
std::string bookNo;
unsigned units_sold = 0;
double revenue = 0.0;
};
int main() {
Sales_data data1;
data1.bookNo = "111";
data1.revenue = 11.11;
data1.units_sold = 1;
std::cout << data1.bookNo << " " << data1.revenue << " " << data1.units_sold << std::endl;
return 0;
}
2.6.2 自定义头文件
略
标签:main,Primer,val,int,c++,第二章,类型,include,指针 来源: https://www.cnblogs.com/hjy94wo/p/16700604.html