今天我们学习的是变量的作用域和声明周期,常量以及字符串和转义字符。

一般来说,一个程序中所用到的名字并不是总是有效的,而限定这个名字的可用性代码范围就是和这个名字的作用域,这就是变量的作用域。在我看来的理解就是说这个变量能管辖到的范围。通常来说,局部变量的作用域是变量所在的局部范围,而全局变量的作用域而是整个工程。

比如这里有一段简单的代码很好的说明了局部变量和全局变量作用域的例子。

首先我们先定义好主函数main(),在下面的大括号{}中写到定义a=10,在大括号{}的外面我们输出这个a,结果会报错,为什么呢?原因是因为在大括号{}里定义的a,这里是局部变量,而局部变量的作用域只是局部,在大括号外面便不属于这个局部了,此时再输出a,系统并不认识这个未被定义的a。那怎么办才可以输出a呢,我们可以在最上面定义,此时就相当于在全局定义变量,这时候的a属于全局变量,作用域是全局,或者将printf函数也写在大括号的里面。

常量:常量很好理解,我们从小学数学就开始学常量,比如1,2,3都是常量,在C语言中也是一样,具有常属性

常用的常量除了1,2,3,还有被const定义的常量,什么是被const定义的常量呢?比如一个a=10,这就是一个变量,但当我们定义const a=10,这a就是一个常量。

还有一种常量是被define定义的常量,当我们define定义一个常量后,比如define a 10;此时a的值就被定义为10了不能再被改变。

值得一提的是有一类常量叫做枚举常量,这里介绍一个函数enum,这个函数是一个枚举函数,enum函数的用法很简单,如图所示,enum{};里面不同的单位用逗号“,”隔开,指的是在enum函数中的单位从0开始,一直往上加。而图中定义了性别Sex,MALE=3,所以第一个单位MALE会从3开始,逐步往上加,所以输出的就是3,4,5。

字符串:在定义数组arr[]中,定义了一个字符串'abc',和定义三个字符'a''b''c',虽然输出的都是abc,但是其意义是不一样的,在字符串'abc'中隐含了一个\0,这是什么意思呢?\0是一个结束字符,是指输出字符串abc时,计算机会继续往下输出,直到看到\0,才停止输出,而字符'a''b''c'则不需要。

在使用strlen(strlen函数需要引用头文件<string.h>)函数计算表格长度的时候,\0是不需要计算到其中去的。

相似的还有这些

这里我们看printf("%d",strlen("c:\test\328\text.c"));中计算c:\test\328\text.c的字符长度,答案是14,第一次我也错了,为什么呢?这里注意\t是属于一个字符,\32算一个,为什么8不用算呢,因为\xdd的意思在八进制中,8不算,所以8算一个,一共就是14个。

今天的博客就到这里,下次我们再见面。

学习C语言,因为前段时间一直在忙学业和实验室的事情,在学计算机网络,所以没怎么学C语言相关推荐

  1. 前段时间一直不知道怎么学习,在网上找到一篇好文章分享给在路上的产品经理...

    如果你也是一枚刚入门的交互设计师,是不是常有这样一种感觉:不知从何下手,闷头读了一大堆书.学了一大堆软件.画了一大堆图之后还是感觉心里不踏实,总害怕自己还缺点什么,恨不得要有本<交互设计学习大纲 ...

  2. win7 查看php版本信息,window_Windows系统版本怎么看?2种查看windows版本的方法介绍,前段时间微软正式开始向Win7和 - phpStudy...

    Windows系统版本怎么看?2种查看windows版本的方法介绍 前段时间微软正式开始向Win7和Win8用户推送免费Win10更新提示,不过很多电脑用户表示没有收到,这主要由于目前Win10推送主 ...

  3. 语言翻译成汇编语言_学习编程有没有必要从C语言和C++学起?应该怎么学?

    硬件层级:这里也就是实体硬件,包括:CPU.内存.显卡等等...这些都不属于软件的范畴内. 汇编层级:在之前没有C/C++以及java之前,是汇编的年代.那么汇编语言对于我们来说,可读性是很查的,不适 ...

  4. C语言程序设计 C语言中的时间函数

    C语言中关于时间的函数 本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时.时间的获取.时间的计算和显示格式等方面进行了阐述.本文还通过大量的实例向你展示了t ...

  5. c语言编译时间,C语言中关于时间的函数

    C语言中关于时间的函数 C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.下面我们一 ...

  6. mysql查询前段时间_没想到!我在简历上写了“精通MySQL”,阿里面试官跟我死磕后就给我发了高薪offer...

    事情是这样的 前段时间面试了阿里,大家也都清楚,如果你在简历上面写着你精通XX技术,那面试官就会跟你死磕到底. 我就是在自己的简历上写了精通MySQL,然后就开启了和阿里面试官的死磕之路,结果就是拿到 ...

  7. 前段时间的世界互联网大会

    前段时间的世界互联网大会,就是在浙江乌镇举办的.(语言表达能力有限) 1.政府支持.软件等新型产业的发展,需要政府的支持.创业生态系统和自然生态系统相结合,政府提供环境.土壤和种子,创业的小公司需要政 ...

  8. C语言将UTC时间转为时区时间的方法参考

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.UTC时间和时区是什么? 二.代码 1.示例1 2.示例2 总结 前言 自我学习:C语言将UTC时间转北京时间 例 ...

  9. 王垠博客 linux,前段时间花了一个通宵把王垠(Yin Wang)博客的所有文章看完了...

    前段时间花了一个通宵把王垠的博客看完了,觉得还是受益匪浅的,所以也给大家谈谈感想. 首先说起王垠这个人嘛,最早了解他的是因为他那篇神一般的传教洗脑文章<完全用Linux工作>,虽然后来被喷 ...

最新文章

  1. 一种近似方法将场地坐标转为像素坐标
  2. ASP.NET MVC WebAPI 资源整理
  3. php根据IP地址跳转对应的城市,淘宝REST api调用地址直接使用
  4. c++实现平面上的形状编辑
  5. mysql数据库入门教程(4):查询讲解大全
  6. linux命令实验设备,实验二 Linux系统的常用命令
  7. mysql 数值型注入_SQL注入之PHP-MySQL实现手工注入-数字型
  8. JDK1.8 中 ConcurrentHashMap源码分析(二)元素添加是线程安全的
  9. 腾讯视频会员宣布涨价:一年253元 你还续费吗?
  10. Ubuntu18.04下C++编译tensorflow并在QT中使用
  11. 【English】20190430
  12. 如何在百度文库复制内容
  13. aso关键词优化,我们该不该去做?
  14. 安装mentohust 64位
  15. 使用vue3+vite+cesium,在地图上显示图标,并且点击实体弹出消息框
  16. “中年跳槽,伤筋动骨”,你可要想清楚
  17. 涛涛打保龄球 【map】篝火晚会(两道题)
  18. Me_STM32学习笔记
  19. mysql cmd全屏,不能全屏这个问题 ,看完了下面所有解决方法 一个一个试了怎么我是不能全屏呢...
  20. H5,小程序中实现小红书式排序 瀑布流(横向排序) macy插件实际使用

热门文章

  1. 【Python】Python之Numpy的超实用基础详细教程
  2. MeAndMyGirfrend靶机
  3. 【20.电话号码的字母组合】
  4. service命令使用教程
  5. [USACO Jan09] 安全路径
  6. 小白编程-资源帖-h5模板源码
  7. CentOS7编译WD My Cloud下的SVN(Subversion)(附编译好的SVN的链接)
  8. 中文日语对照自我介绍
  9. 开源接口自动化平台sosotest的使用心得
  10. 2019年807程序综合设计答案解析