一个实例 c++ VS2017 函数变量作用域 局部变量/全局变量/形式参数/实际参数解释

  • 时间:
  • 浏览:
  • 来源:互联网

实例代码

#include <iostream>
using namespace std;

//全局变量,定义主函数以及其它函数外面
//以下全局变量定义以后,没有使用"="进行初始化,但这些全局变量定义后有默认的初始值,详《c++菜鸟教程 变量作用域》
int global_i;
int *global_pointer;

//形式参数,作为自定义函数传入的参数
//初始值,代摸索
//void表示类型的缺失
void function(int Formal_parameter)
{
	cout << "--------------自定义函数function------------" << "\n";
	//实际参数也是局部变量的一种,在自定义函数里定义的变量
	int local_Actual_parameter;

	//-----以下用法会报错,即function里面定义的局部变量必须进行初始化才能打印
	/*
	cout << "定义后未初始化的值="<<local_Actual_parameter << "\n";
	*/

	local_Actual_parameter = 10;
	cout << "初始化后的值=" << local_Actual_parameter << "\n";

	//把传入形式参数赋值给实际参数
	local_Actual_parameter = Formal_parameter;
	cout << "输出形式参数的值=" << local_Actual_parameter << "\n";
}

int main() 
{	
	//-----以下main函数里的指针变量函数使用错误
	/*
	int *local_main_pointer = NULL;
	cout << "指针的值=" << *global_pointer << "\n";
	*/

	//-----以下因为定义局部变量local_main_i没有初始化,导致指针使用错误
	/*
	//在main里面的局部变量
	//以下局部变量定义,需要使用"=",进行初始化;
	int local_main_i;

	//在main里面的定义局部指针变量,定义后需要进行赋值,且按照以下赋值
	int *local_main_pointer;
	//把local_main_i赋值给local_main_pointer,进行指针的初始化;
	local_main_pointer = &local_main_i;

	//在主函数里输出默认初始化的全局变量
	cout << "变量的值=" << global_i << "\n";
	cout << "变量的地址值=" << &global_i << "\n";
	cout << "指针的值=" << *global_pointer << "\n";
	cout << "指针的地址值=" << global_pointer << "\n";
	*/

	//-----以下用法会报错,即main里面定义的局部变量必须进行初始化才能打印
	/*
	//在main函数里输出定义后但没初始化的局部变量
	cout << "main函数里局部变量的值=" << local_main_i << "\n";
	cout << "main函数里局部变量的地址值=" << &local_main_i << "\n";
	cout << "main函数里局部变量指针的值=" << *local_main_pointer << "\n";
	cout << "main函数里局部变量指针的地址值=" << local_main_pointer << "\n";
	*/

	//-----指针的以下使用方法错误
	/*
	int *local_main_pointer;
	*local_main_pointer = 12;
	*/


	//在main里面的局部变量
	//以下局部变量定义,需要使用"=",进行初始化;
	int local_main_i;

	//在main里面的定义局部指针变量,定义后需要进行赋值,且按照以下赋值
	int *local_main_pointer;
	//把local_main_i赋值给local_main_pointer,进行指针的初始化;
	local_main_pointer = &local_main_i;

	//在主函数里输出默认初始化的全局变量
	cout << "main里定义但未初始化的局部变量的值=" << global_i << "\n";
	cout << "main里定义但未初始化的局部变量的地址值=" << &global_i << "\n";
	//cout << "指针的值=" << *global_pointer << "\n";
	//cout << "指针的地址值=" << global_pointer << "\n";

	//初始化main函数里的局部变量
	local_main_i = 11;
	*local_main_pointer = 12;

	//在main函数里输出定义初始化后的局部变量
	cout << "main函数里局部变量的值=" << local_main_i << "\n";
	cout << "main函数里局部变量的地址值=" << &local_main_i << "\n";
	cout << "main函数里局部变量指针的值=" << *local_main_pointer << "\n";
	cout << "main函数里局部变量指针的地址值=" << local_main_pointer << "\n";

	//在main里面调用自定义函数function,实现function里的功能
	//要传入一个自定义函数对应变量类型的参数,可以全局变量也可以是main里或其它局部变量;
	int function_variable = 5;
	function(function_variable);
}

 

执行代码后的输出结果

 

本文链接http://xiahunao.cn/article/show-994403.html