当前位置: 代码迷 >> 综合 >> 一个实例 c++ VS2017 函数变量作用域 局部变量/全局变量/形式参数/实际参数解释
  详细解决方案

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

热度:58   发布时间:2024-02-22 19:51:45.0

实例代码

#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);
}

 

执行代码后的输出结果

 

  相关解决方案