原创笔记,转载请注明出处!

点击【关注】,关注也是一种美德~


笔记八中已经说到:在 C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。

C语言中的变量都必须在作用域开始的位置定义

C++中更强调语言的“实用性所有的变量都可以在需要使用时再定义

我们用VC++6.0和VS2010进行演示。

先用VC++6.0建立一个.c的文件

#include<stdio.h>

void main()

{

int i;

int k;

printf("hello world\n");

i=10;

k=10;

printf("i:%d  k:%d\n",i,k);

}

运行程序:

hello world

i:10  k:10

请按任意键继续. . .

运行没有问题,但是C语言里面如果把变量k的定义放到一条不是定义语句后面,那么运行就会报错。

#include<stdio.h>

void main()

{

int i;

//int k;

printf("hello world\n");

int k; //错误

i=10;

k=10;

printf("i:%d  k:%d\n",i,k);

}

同样的代码我们用VS2010建立一个.cpp文件,运行程序没有问题:

我们还注意到,在.c文件中没有“system(“pause”)”语句,我们运行程序后显示窗口不会一闪而过,而在.cpp文件中我们如果没有这个语句显示窗口就会一闪而过。

#include<iostream>

using namespace std;

void main()

{

int i;

//int k;

printf("hello world\n");

int k;

i=10;

k=10;

printf("i:%d  k:%d\n",i,k);

system("pause");

}


原创笔记,转载请注明出处!

更多精彩请关注微信公众号:依法编程


最新文章

  1. Java中普通代码块,构造代码块,静态代码块区别及代码示例
  2. UIautomator Python测试
  3. Mvc 提交表单的4种方法全程详解
  4. 如何使用 HTML5 Canvas 制作水波纹效果
  5. 微信video标签全屏无法退出bug 本文系转载
  6. Java基础——异常体系
  7. openstack私有云布署实践【13.1 网络Neutron-compute节点配置(科兴环境)】
  8. 完美解决ie浏览器location.href不刷新页面的问题,进入页面只刷新一次
  9. 【转】国外程序员整理的 C++ 资源大全
  10. 为什么用CDN给你网站加速?
  11. 只用120行Java代码写一个自己的区块链
  12. mongoDB的安装及基本使用
  13. WebStorm重复代码快捷表达
  14. jquery+ajax无刷新加载数据,新闻浏览更多
  15. wx小程序获取用户位置信息
  16. Unity鼠标点击Collider
  17. Yarn import now uses package-lock.json
  18. 何为session?
  19. java-ApiValueDemo
  20. iOS 认识runtime 中的三个指针 isa , IMP , SEL

热门文章

  1. CSS3,transform3D立体可拖拽正方体实现原理
  2. JavaScript中sort()方法
  3. html的文件控件&lt;input type=&quot;file&quot;&gt;样式的改变
  4. java 中linq 的使用方式 筛选 查找 去重
  5. Docker_1 安装Docker-CE
  6. QT控件大小的方法
  7. MEGER sentence in oracle
  8. 【系统】在windows中追加/删除虚拟打印机
  9. ASP.NET Core - 中间件与管道(1)
  10. 用phpstudy搭建的lnmp环境下mysql授权远程连接