zoukankan      html  css  js  c++  java
  • 如何判断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类型的数组。

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

  • 相关阅读:
    自定义 cell
    iOS的自动布局
    通过字符串获取沙盒路径延展类
    Orcale nvl函数
    Orcale sign函数
    Orcale decode函数
    Orcale rpad函数
    mapper.xml速查
    Spring Boot整合SpringMVC应用
    Spring Boot 整合MyBatis框架
  • 原文地址:https://www.cnblogs.com/jiaxin359/p/7511797.html
Copyright © 2011-2022 走看看