基于Linux的C++学习——变量及应用
本文摘要:文章介绍了C++编程中的常见问题及解决方法。首先探讨了编译错误处理技巧,建议将错误信息输出到文本文件以便查看。其次讲解了main函数参数传递机制,说明argc和argv[]的含义及用法。在变量部分详细阐述了变量的定义、声明规则,强调变量不可重复定义但可多次声明,并通过示例演示了多文件编程中变量的使用方式。最后简要介绍了C++基本数据类型及其转换方法,包括static_cast的使用。全文
一、编译

当代码出现了一些问题以至于无法很好的呈现的时候,这个时候可以考虑弄到文本文档中查看,如下图所示的程序,打印的变量均没有被定义。

对其进行编译,毫无疑问地,会出现很多的错误,如下图所示,如果存在这种不方便呈现完成错误的我们可以考虑将这些提示放到文本文档中。

输入下面的命令后会将编译得到错误信息放置到error.txt中

可以打开进行查看

这样的话就可以同时打开错误与代码,根据错误信息来一步步修正代码
二、main函数传参
对于下面的main函数是可以传递一定的参数的,是从命令行传递的

下面我们尝试来打印一下第一个参数观察其内容。

运行后发现argc的值为1

下面修改执行方式如下图所示,argc是在命令行调用程序时,总共的命令参数的数量(./a.out、4、6,共3个)。那么argv[]就是对应./a.out(第0个元素)及其后面的列表

执行下面的程序,期望的结果应该是4,运行后得到验证。


二、变量
1、变量的基本使用

变量其实只不过是程序可操作的存储区的名称。C++中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。变量其实只不过是程序可操作的存储区的名称。常见的类型:bool,char,int,float,double,void,long long,unsigned int,...。为什么有变量呢,程序是为了解决实际问题,实际中的某个数据可能会变化,实际中的数据可能会有不同类型。
定义变量:类型 变量名
下面展示了一些见到过的变量及其赋值

2、变量的声明与定义
变量的声明:extern int a;
变量的定义:int b;
变量不允许多次定义,但是可以多次声明。
如下图所示的程序中,重复定义了b,编译后发生报错。


如下图所示的程序中,重复声明了a,编译可以通过。


如果只声明a在后面对a进行赋值,也就是使用a,会出问题的,如下图程序与结果所示,在主函数中对a进行赋值,编译报错。


下面采用-c优化编译的方式,如下图所示,会生成一个.o的文件

现在可以在另一个模块文件中对a进行定义使用,如下图所示,新建了一个block.cpp,在里面对a进行定义赋值。

对block.cpp也采用-c优化编译方式进行编译,产生了.o文件,如下图所示

这个时候编译variable.cpp的时候把block.o这个中间文件加进去的话编译会通过。

可以在variable.cpp中将a打印出来,如下图所示a的值是5.


涉及到多个代码的时候,有可能这个代码是需要分工的,类似于有一个人去负责variable.cpp的功能,有的人去负责block.cpp的功能,在这种情况下,block.cpp中定义了a,在variable.cpp中只能去声明它,不能定义。
3、变量作用域
如下图所示的程序中,运行出来的结果为5


下面在主函数中对a进行重新定义,观察a的值为4


那么在程序中再次执行fun()后,如下图所示,a的值为5。


修改程序如下图所示,结果也如下图所示。


再次更改程序如下,观察到最后打印出的a为4


三、基本数据类型
基本内置类型:布尔型、字符型、整型、浮点型、双浮点型和无类型,和基本内置类型相关的话题:存储大小、取值访问、有符号和无符号、类型间的转换。下面来看一下数据类型转换,如下图所示,一般采用static_cast。


通过下面的程序可以实现对整型数据的逐位打印


更多推荐
所有评论(0)