码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-09-12 20:57:53      阅读:379      评论:0      收藏:0      [点我收藏+]

标签:全局变量   个数   str   strong   col   动态   变量类型   初始化   数据存储   

变量三要素:

一个变量有三个基本的要素,变量的名称,变量的类型,变量的值。
所以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类型的数组。

 

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

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

标签:全局变量   个数   str   strong   col   动态   变量类型   初始化   数据存储   

原文地址:http://www.cnblogs.com/jiaxin359/p/7511797.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!