输出C语言中 变量的类型

使用gcc的警告信息间接知道变量的类型

#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <string.h>

int
main()
{
        int a[2][10];

        printf("%d\n", a[0]);
        printf("%d\n", a);
        printf("%d\n", a + 1);

        exit(0);
}
[[email protected] transform]# gcc -o test -Wall -g test.c
test.c: In function ‘main’:
test.c:14: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘int *’
test.c:15: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘int (*)[10]’
test.c:16: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘int (*)[10]’

gcc 的选项中加入 -Wall 即可

时间: 2025-01-02 01:34:37

输出C语言中 变量的类型的相关文章

C语言中变量存储类型有哪些?

变量的存储类型是C语言的重要组成部分,也是C语言学习的基础.那C语言中变量的存储类型有哪几种呢?在编程过程中又该怎样运用呢?就这一问题,我今天给大家介绍一下!总的来说,C语言中变量的存储类型可以分为四种,他们分别是自动变量.静态变量.外部变量和寄存器变量这四种,他们的说明符依次是:auto.static.extern和register. 一.auto auto称为自动变量. 局部变量是指在函数内部说明的变量(有时也称为自动变量).用关键字auto进行说明,当auto省略时,所有的非全程变量都被认

C/C++——C++变量的作用域与生命周期,C语言中变量的作用域和生命周期

全局变量 作用域:全局作用域(全局变量只需在一个源文件中定义,就可以作用于所有的源文件.) 生命周期:程序运行期一直存在 引用方法:其他文件中要使用必须用extern 关键字声明要引用的全局变量. 内存分布:全局数据区 注意:如果在两个文件中都定义了相同名字的全局变量,连接出错:变量重定义 全局静态变量 作用域:文件作用域(只在被定义的文件中可见.) 生命周期:程序运行期一直存在 内存分布:全局数据区 定义方法:static关键字,const 关键字 注意:只要文件不互相包含,在两个不同的文件中

(12)Powershell中变量的类型

Window Powershell中变量的类型与Java,C#等高级语言中变量的类型不一样,可以不用显示指定Powershell中变量的类型,即Powershell中的变量具有更大的灵活性.Powershell中的变量采用 .Net Framework类型. 默认情况下,当变量只有一个值时,变量的数据类型由赋予变量的值决定.例如,下面的语句创建一个整数 (System.Int32) 类型的变量: PS C:\> $a=3 如果需要确定变量的 .NET Framework 类型,可以使用 GetT

C语言中变量、全局变量与变量的作用域

什么是变量: 变量常量都是表征数据的一种形式:常量用来表示数据的值: 变量不仅可以用来表示数据的值:还可以用来存放数据:因为变量对应着一定的内存单元: 变量和常量必须先定义后使用. 变量名和常量名都是一种标识符,用来标识变量和常量的.变量和常量必须用标识符(或者可以理解成一个名字)来表示后才能使用. 赋值表达式语句把值赋给变量,或者更一般地说,把值赋给存储空间. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

C语言中变量的存储类型

在C语言中,对变量的存储类型说明有以下四种: auto 自动变量register   寄存器变量extern 外部变量static   静态变量 自动变量和寄存器变量属于动态存储方式,外部变量和静态变量属于静态存储方式. 在介绍了变量的存储类型之后,可以知道对一个变量的说明不仅应说明其数据类型,还应说明其存储类型. 因此变量说明的完整形式应为:存储类型说明符数据类型说明符变量名,变量名-:例如: static int a,b;      说明a,b为静态类型变量 auto char c1,c2;

C语言中变量的换值

变量的换值是C语言中的重点,也是基础知识点.尤其是在多个数值比较大小时,我们会经常运用到变量的换值运算.变量的换值一般是同类型的互换.如整型.字符型.实数型.数组.字符串.结构体类型的变量.实现变量的换值的方法,一般是先定义一个与要换值的变量相同类型的变量,然后执行相应的赋值语句. #include<stdio.h> #include<string.h> int main() { /* 整型变量的换值 */ int a=5,b=1; int c; //中间变量 c=a; a=b;

C语言中变量名及函数名的命名规则与驼峰命名法

一.C语言变量名的命名规则:(可以字母,数字,下划线混合使用) 1. 只能以字母或下划线开始:2. 不能以数字开始:3. 一般小写:4. 关键字不允许用(eg:int float=2//error  float 为保留字不允许用): 二.函数名的命名规则 1.见名知意:2.自定义函数函数名首字母大写(库函数里的函数名都是以小写字母定义,为了区分库函数和自定义函数,避免冲突). 三.宏定义里面的变量 全大写 eg:#define SIZE 100(后面函数所有出现的SIZE全用100代替,它在所有

简答的理解C语言中的各种类型函数

1.变参函数 变长参数的函数即参数个数可变.参数类型不定 的函数.最常见的例子是printf函数.scanf函数和高级语言的Format函数.在C/C++中,为了通知编译器函数的参数个数和类型可变(即是不定的.未知的),就必须以三个点结束该函数的声明. 1 // printf函数的声明 2 int printf(const char * _Format, ...); //const char * _Format是格式控制,控制有多少个%d...,确定输出的个数与类型 3 4 //scanf函数声

C语言中变量的内存排布

之前对C语言的变量在内存中的排布有些混淆,故进行了以下几个方面的简要整理(所有的实例均是基于X86 PC Ubuntu上GCC编译的). 变量定义时,不同的变量分配的内存地址的增长方向(1) 定义两个全局变量,在赋值编译后打印其在内存中分配的地址,发现先定义的变量被分配在内存中的低地址中(2) X86 PC Ubuntu的main函数中定义变量,使用gcc编译时查看系统对变量分配的内存地址(内存分配的增长方向是低地址到高地址) 结构体实例化之后,结构体中成员分配的内存地址的增长方向(1) 定义全