在c语言中用啥函数判定一个变量的类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在c语言中用啥函数判定一个变量的类型相关的知识,希望对你有一定的参考价值。
在c语言中用没有函数判定一个变量的类型,可以使用sizeof来判断变量大小。
示例:
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char **argv) //主程序
//对C语言内置类型的所占字节数的测试
printf("size of char is: %d\\n",sizeof(char)); //字符型数据所占字节数 、
printf("size of short is: %d\\n",sizeof(short)); //短整形数据所占字节数
printf("size of int is: %d\\n",sizeof(int )); //整形数据
printf("size of short int is: %d\\n",sizeof(short int)); //短整形
printf("size of long int is: %d\\n",sizeof(long int)); //长整形数据
printf("size of float is: %d\\n",sizeof(float)); //浮点型数据
printf("size of double is: %d\\n",sizeof(double)); //双精度数据
//对字符及字符串数组所占字节数的测量
char a[] ='a','b','c','d','e';
printf("size of a[] is: %d\\n",sizeof(a)); //输出数组a[]所占字节数
char b[]="abcde"; //初始化字符串b
printf("size of b[] is: %d\\n",sizeof(b)); //数组b[]
char c[][3]='a','b','c','d','e','f','g','h','i','j','k','l'; //初始化二维字符型数组
printf("size of c[][] is: %d\\n",sizeof(c)); //二维数组c所占字节数
printf("size of c[0] is: %d\\n",sizeof(c[0])); //二维数组中的某行所占的字节数,例如第0行
printf("size of c[0][0] is: %d\\n",sizeof(c[0][0])); //某行某个元素,例如第0行第0个元素
//对指针所占字节数的测量
char *p=0;
printf("size of *p is: %d\\n",sizeof(p)); //字符型指针
system("pause");
return 0;
扩展资料
使用sizeof()计算数组长度
将sizeof用于 expr是并没有计算expr的值。特别是在sizeof *p中,指针p可以是一个无效地址,因为不需要对p做解引用操作。
对char类型或值为char类型的表达式做sizeof操作结果为1。对引用类型做sizeof操作,将返回存放此引用类型对象所需的内存空间大小。
对指针做sizeof操作,将返回存放指针所需的内存大小,注意,如果要获取该指针指向对象的大小,则必须对该指针进行解引用。对数组做sizeof操作等效于对其元素做sizeof操作的结果乘上数组元素的个数。
因为sizeof返回整个数组在内存中的存储长度,所以用sizeof数组的结果初一sizeof其元素类型的结果,即可求出数组元素的个数:int sz = sizeof(ia)/sizeof(*ia);
通常将8位的块作为一个字节,32位或4个字节作为一个 “字”。一般的short为半个机器字长,int为一个机器字长。
c语言中没有判断变量类型的函数。
在C语言中,如果按存储占用空间来分,包括:
整型变量(代码为int),整型变量包括长整型变量(代码为long int)以及短整型变量(代码为short int),字符型变量(代码为char),浮点型变量(代码float)等。当然还有数组,结构体变量等。
但新手需要注意的是,每一种变量类型最终都对应的格式字符.如:%d。
C语言还有一个重要变量:指针变量。它存放的值是一个内存地址。
C语言中变量名是有大小写之分的,如SUN与sun就是两个不同的变量名。
扩展资料:
变量命名规则:
1、变量名必须以字母或下划线打头,名字中间只能由字母、数字和下划线“_”组成;最后一个字符可以是类型说明符;
2、变量名的长度不得超过255个字符;
3、变量名在有效的范围内必须是唯一的。有效的范围就是引用变量可以被程序识别、使用的作用范围——例如一个过程、一个窗体等等。有关引用变量作用范围的内容,将在以后介绍。
4、变量名不能是VB中的保留字(关键字),也不能是末尾带类型说明符的保留字,但可以把保留字嵌入变量名,关键字是指VB6语言中的属性、事件、方法、过程、函数等系统内部的标识符。如已经定义的词(if、endif、while、loop等)、函数名(len、format、msgbox等)。像Print、Print$是非法的,而Myprint是合法的。
参考资料:百度百科-变量
参考技术B if(sizeof(int)==sizeof(name))printf("变量name是 int 数据类型");简单的数据类型可以,需要先检查一下你需要判断的数据类型的字节数各为多少?如果有重复的就比较麻烦啦。例如:float与long就都是4,就看你的需求啦。 参考技术C c语言没有检查变量类型的函数,在C语言中定义的变量,只是根据变量类型来分配默认的存储空间大小,而不记录空间中存储的具体的值的类型。比如定义的字符类型可以当整形来用,可以直接在上面加减一个数值。 参考技术D 用sizeof()返回字节数,看看这个变量占用了多少字节,从而判断其类型。
c语言中,puts和printf函数有啥区别?
希望详细
puts和printf函数的区别如下:
1、不同的换行符
puts()函数会自动在字符串末尾添加一个换行符,这意味着它会自动换行,而printf()函数没有此功能。
2、输出内容不同
puts()函数只能输出字符串,不能对输出和转换指令进行标准化,而printf()函数可以。
扩展资料:
调用格式
1、printf
格式字符串包含三种类型的对象:(1)字符串常量;(2)格式控制字符串;(3)转义字符。字符串常量按原样输出并在显示中用作提示。输出项在输出表列中给出,格式控制字符串和每个输出项在数量和类型上应一一对应。
格式控制字符串是以%开头的字符串,后跟各种格式控制字符,以指示输出数据的类型、宽度、精度等。
2、puts
(1)puts()函数只能输出字符串,不能输出值或执行格式转换。
(2)字符串可以直接写入puts()函数。例如:如:puts("Hello,world!")。
(3)puts与printf相同,puts()函数的作用与printf语句相同。注意:puts将在输出字符串之后自动输出回车。
参考资料来源:百度百科-puts
参考资料来源:百度百科-printf
参考技术A1、换行不同
puts()函数会在字符串末尾自动的添加换行符,也就是说它会自动的换行,而printf()函数就没有这项功能。
2、输出内容不同
puts()函数只能输出字符串,不能进行标准化的输出与转换说明,而printf()函数可以。
扩展资料
调用格式
1、printf
格式化字符串包含三种对象,分别为:(1)字符串常量;(2)格式控制字符串;(3)转义字符。
字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。
其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。
2、puts
(1) puts()函数只能输出字符串, 不能输出数值或进行格式变换。
(2)可以将字符串直接写入puts()函数中。如:puts("Hello, world!")。
(3)puts 和 printf的用法一样,puts()函数的作用与语句“printf“的作用相同。注意:puts在输出字 符串后会自动输出一个回车符。
参考资料来源:百度百科-puts
参考资料来源:百度百科-printf
参考技术Bputs()函数只用来输出字符串,没有格式控制,里面的参数可以直接是字符串或者是存放字符串的字符数组名。
printf()函数的输出格式很多,可以根据不同格式加转义字符,达到格式化输出。
puts()函数的作用与语句printf("%s\\n",s);的作用形同。
printf可根据格式控制符输出任意数据本回答被提问者采纳 参考技术D 本来都可以的,但你是执行完puts(sza);后,指针已经移动到最后了,才执行的printf("%s",sza);当然什么也输不出来了
以上是关于在c语言中用啥函数判定一个变量的类型的主要内容,如果未能解决你的问题,请参考以下文章