美文网首页
C-快速入门之基本类型

C-快速入门之基本类型

作者: innoyiya | 来源:发表于2017-09-30 21:54 被阅读0次

C语言的类型可分为以下四种:
1.基本类型

  • 整数型
  • 浮点型

2.void类型
3.枚举类型
4.派生类型

常用的整数类型有char short int long (按存储大小由小到大排序)
浮点类型有float(单精度浮点型) double(双精度浮点型、默认类型),顾名思义就是双精度浮点型能精确到小数点后很多位,但代价是占用更大的存储空间。

最常用的是基本类型和void类型,类型是声明变量或常量或函数的返回值。变量的类型定义了该变量的存储空间、存储类型。定义变量的姿势:int number = 1;定义的位置可以在函数外或者函数内。

这里的 = 并不是数学意义上的相等,而是将右边的值赋予给左边变量。而==才是C中相等的意思。

函数的返回类型也是需要定义的:

#include <stdio.h>
int main() {
    printf("Hello, World!\n");
    return 0;
}
void getNumber() {
    printf("Hello, World!\n");
}

比如上面这两个函数,一个是int类型、一个是void类型。能看出区别吗?这里的类型指的是该函数运行结束后该返回什么样的类型。
比如main()要返回一个int类型,所以其函数体在运行结束后return 一个0回去。
而getNumber()要返回一个void类型,换言之就是不用返回任何东西回去。也可以写成下列形式:

void getNumber() {
    printf("Hello, World!\n");
    return ;
}

这里它return一个空回去了。

变量的定义位置可以在函数外或函数内
当在函数外定义时,该变量为全局变量。
当在函数内定义时,该变量为局部变量。

#include <stdio.h>
int number = 110;
int main() {
    printf("%d\n", number);
    return 0;
}
void getNumber() {
    printf("%d\n", number);
}

其中名为“number”的变量,被定义为int类型。并且被赋值为110。而且它是在函数外定义的,所以它是全局变量,在每个函数体内都可以访问。

如果是定义在某个函数内,则其他函数体内访问不到该函数:

#include <stdio.h>
int main() {
    int number = 110;    //定义在main函数体内,其他函数体访问不到。
    printf("%d\n", number);
    return 0;
}
void getNumber() {
    printf("%d\n", number);    //这里因为访问不到number这个变量,所以这里报错。
}

如果一个变量已经定义在函数体外作为全局变量,那么在函数体内又定义一次会发生什么后果:

#include <stdio.h>
int number = 110;    //定义全局变量
int main() {
    printf("开始打印\n");
    getStaticNumber();
    getLocalNumber();
    return 0;
}
void getStaticNumber() {
    printf("%d\n", number);
    return;
}
void getLocalNumber() {
    int number = 220;                //定义局部变量
    printf("%d\n", number);
}

程序运行结果如下:

开始打印
110
220

函数“getLocalNumber()”运行时首先会查找自己的局部变量是否拥有变量number的存在,如果有则使用。
函数“getStaticNumber()”运行时先在自己的局部变量表查找是否有变量number存在,如果不存在再去全局变量表找。

全局变量和局部变量互不影响。

相关文章

  • C-快速入门之基本类型

    C语言的类型可分为以下四种:1.基本类型整数型浮点型2.void类型3.枚举类型4.派生类型 常用的整数类型有ch...

  • C-快速入门之基本结构

    首先先来段代码: 据说“Hello World”是许多程序猿/媛向世界发出的第一声呐喊。 C是一种结构化语言,鲜明...

  • dart入门潜修系列教程

    dart入门潜修基础篇之基本语法和内置类型dart入门潜修基础篇之方法dart入门潜修基础篇之操作符dart入门潜...

  • JavaScript

    快速入门 基本语法 语法 数据类型和变量 Number 字符串 '' '''' 布尔值 &&||! 比较运算...

  • JavaScript之快速入门

    一、快速入门 目录:聊聊JavaScript这个东西、基本使用及HelloWorld、浏览器控制台使用、数据类型快...

  • typescript学习笔记-基础类型

    基础类型快速入门 基础类型 string,number,boolean 数组类型 string,number,bo...

  • serviceComb微服务 学习记录-快速入门

    环境:MacOS 快速入门快速入门部分,基本按照官方quick start可以跑。 遇到的问题 1.com.net...

  • 1.快速入门

    一、基本数据类型之int 类型 二、基本数据类型之char 类型 三、基本数据类型之float 类型 四、变量的用...

  • GLSL入门

    着色器语言 GLSL (opengl-shader-language)入门大全 基本类型: 类型说明void空类型...

  • kotlin入门(4)-区间

    Kotlin入门(1)-环境配置kotlin入门(2)-基本类型kotlin入门(3)-数组 区间从数学意义上定义...

网友评论

      本文标题:C-快速入门之基本类型

      本文链接:https://www.haomeiwen.com/subject/xklnextx.html