如何判断c语言的变量类型

变量三要素:

一个变量有三个基本的要素,变量的名称,变量的类型,变量的值。
所以int a = 10; 变量名为a,变量的存储类型为int型,变量的值为10。

变量还有一些属性如作用范围和存储类型。

变量作用范围和存储类型

作用范围有局部变量和全局变量。局部只在特定范围内起作用。全部变量在整个程序运行期间起作用。

存储类型有auto(自动),static(静态),register(寄存器变量)

自动变量auto默认省略,int a = 10; 和 auto int a = 10;是一样的。自动变量动态的分配内存空间,数据存储在动态存储区内。
静态变量static,在函数初始化的时候就分配空间,而且数据存储在静态存储区内,在程序运行期间,变量的存储空间不会被释放掉。

指针变量

指针变量除了上面的三要素以外,还有指针指向的数据类型。
int *p = &a;
变量名为p,变量的类型为指针类型,变量的值为a的地址,该指针变量指向的数据类型为int类型。

如何判断变量类型

int (*p)(int,int); 指向函数的指针。
是一个指针,该指针指向一个函数入口。
判断方法:p先和*结合,为一个指针。后和(int,int)结合,指针指向返回值为int 的函数。

float *fun(int a); 返回指针值的函数。为一个函数,形参为int型,返回值为一个float类型指针。
判断方法,fun和(int a)结合,为函数。函数返回值为float类型指针。

int *p[4]; 指针数组。为一个数组,数组里面元素的存储类型为指针类型。
判断方法:p和[4]结合,为一个数组,数组存储的类型为int类型指针。

float (*pointer)[4] ;指向一维数组的指针变量。为一个指针,指针指向长度为4的数组。
判断方法:pointer和*结合,为一个指针。该指针指向一个长度为4的,存有float类型的数组。

所以判断一个变量类型的时候,先看变量名的结合性,首先和什么结合就是什么类型变量,先和指针结合就是指针变量,和数组结合就是数组。然后在看该变量的其它属性:指针有其指向的类型、数组有其存储类型,函数有返回类型和形参等等。

时间: 2024-12-23 19:50:50

如何判断c语言的变量类型的相关文章

C语言之变量类型和存储方式

变量可以分为全局变量.静态全局变量.局部变量和静态局部变量 变量的声明有两种情况: 1.一种是需要建立存储空间的(定义性声明).例如int a 在生命的时候就已经建立了存储空间. 2.另一种是不需要建立存储空间的(引用性声明).例如extern int a 其中变量a是在别的文件中定义的. 内存区域的划分: 1.栈区:由编译器自动分配和释放的内存区域,用于存放函数的参数值.局部变量等. 2.堆区:程序员向系统申请或释放. 3.全局区:用来保存全局变量和静态变量. 4.文字常量区:用来保存常量字符

【学习笔记】【C语言】变量类型

根据变量的作用域,可以分为: 1.局部变量: 1> 定义:在函数(代码块)内部定义的变量(包括函数的形参) 2> 作用域:从定义变量的那一行开始,一直到代码块结束 3> 生命周期:从定义变量的那一行开始分配存储空间,代码块结束后,就会被回收 4> 没有固定的初始值  2.全局变量 1> 定义:在函数外面定义的变量 2> 作用域:从定义变量的那一行开始,一直到文件结尾(能被后面的所有函数共享) 3> 生命周期:程序一启动就会分配存储空间,程序退出时才会被销毁 4&g

golang语言学习第二课:变量类型及常量与枚举

go语言的变量类型: bool (true为0,false不等于0), string int 分好多种int,有点头晕,但用默认的int就足够了,根据机器判断,是32位的用int32,是64位的用int64. byte, 又是uint8的别名. rune(类似char,但是是utf-8编码的char),又是int32的别名. go语言没有float,只有float32, float 64(即使在32位的架构上还是64位) go语言原生支持复数类型,类似python, python也支持复数.go

javascript中对变量类型的判断

本文正式地址:http://www.xiabingbao.com/javascript/2015/07/04/javascript-type 在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null, Boolean, Number和String:复杂数据类型是Object,Object中还细分了很多具体的类型,比如:Array, Function, Date等等.今天我们就来探讨一下,使用什么方法判断一个出一个变量的类型. 在讲解各种方法之

初窥Python(四)——三种方法判断python变量类型

python 是动态语言,定义变量时不用指定变量类型,在代码执行过程中,会根据变量的值确定变量类型.python 中常用的变量类型有 int  float  long  bool  str  list  tuple set dict 等,常用的变量类型的有 types 库及内置的 type(object) 和 isinstance(object,class-or-type-or-tuple) 方法,下面分别来看一下如何通过这些方法进行变量类型的判断. 1.使用types库结合type(objec

JS 中对变量类型的判断

总结:1. 一般简单的使用 typeof 或 instanceof 检测(这两种检测的不完全准确)          2. 完全准确的使用 原生js中的 Object.prototype.toString.call  或 jquery中的 $.type 检测 在 JS 中,有 5 种基本数据类型和 1 种复杂数据类型,基本数据类型有:Undefined, Null, Boolean, Number和String:复杂数据类型是Object,Object中还细分了很多具体的类型,比如:Array,

C语言——变量类型

局部变量 1> 定义:在函数内部定义的变量,称为局部变量.形式参数也属于局部变量.必须在赋值之后才能用: 2> 作用域:局部变量只在定义它的函数内部有效,即局部变量只有在定义它的函数内部使用,其它函数不能使用它. 全局变量 1> 定义:在所有函数外部定义的变量,称为全局变量.默认初始化值0. 2> 作用域:全局变量的作用范围是从定义变量的位置开始到源程序结束,即全局变量可以被在其定义位置之后的其它函数所共享. 变量的存储类型 * 变量的存储类型就是指变量存储在什么地方.有3个地方可

【C语言探索之旅】 第二部分第六课:创建你自己的变量类型

0 内容简介 1.课程大纲 2.第二部分第六课: 创建你自己的变量类型 3.第二部分第七课预告: 文件读写 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量

黑马程序员学习笔记--------C语言变量类型,结构体,枚举

本章学习的知识是定义结构体,枚举等自定义的数据类型,已经宏命令,变量类型等细小的知识点,在开始本章的新知识学习之前首先我们要明白的是C语言有丰富的数据类型和运算符,因此计算能力非常强大,计算过程中使用的值一般用变量来存储.变量也是有分类型的,不同类型的变量有不同的存储类型.不同的生命周期.不同的作用域,C语言也提供了一些关键字来设置变量的属性(比如设置存储类型.生命周期). 一.变量类型 变量分为全局变量和局部变量. 首先说明一下局部变量的特点 1> 定义:在函数内部定义的变量,称为局部变量.形