c语言int和int
㈠ c语言 int 和long int 问题
不同平台, int 和long int 长度可能不一样,
这时候在X86平台下,你的scanf("%d",&b)输入long int就会出错,
这又和字节序有关,x86系列CPU采用little endian方式存储数据,简单的说就是数据的高字节在低地址,低字节在高地址.
将&b开始的存储空间从低字节->高字节依次记为b0 b1 b2 b3 b4 b5 b6 b7
当b 为int 则scanf("%d",&b)将数据存储在b0 b1 b2 b3地址中,
低字节存放在b3,如你输入的23就存在b3中,而b0=b1=b2=0.
当b为long int时,如果是64位CPU,则long int长度为8字节,这时实际数据的低字节应该存放在b7中,最高字节存放在b0中.可是你的scanf语句的参数确将b当成整数类型,输入的数据低字节不是存放在b7只是存储在b3,结果本来应该是b7=23 b0=b1=...b6 = 0,可是你的错误导致了b3=23,b0=b1=b2=0, b4,b5,b6,b7随机数.
所以当b为long int时,改成scanf("%ld",&b)就对了.
㈡ C语言中 char与int有什么区别
C语言中 char 与 int 具体区别如下:
1、表示的变量类型不同:
char 是字符变量,而 int 是整型变量。
2、申请的类型数据不同:
char 用来申请字符和字符串或者字符串指针;int 用来申请整型数据,或者整形数据指针。
3、字节、能表示的内容不同:
char只有一个字节,int有4个字节,能表示的内容大小不一样;char只有0~255,int范围[-2^31 , 2^31 -1] (处理器是64位的可以更大)
参考资料:
int-网络
char-网络
㈢ C语言里int和short型变量的区别是什么
1、占用字节根据机型不同会有不同:
在一般的电脑中,int占用4字节,32比特,在之前的微型机中,int占用2字节,16比特。在32位平台下如windows(32位)中short一般为16位。
2、数值范围不同:
int在一般的电脑中,数据范围为-2147483648~2147483647[-2^31~2^31-1],在之前的微型机中,int数据范围为-32768~32767[-2^15~2^15-1]。C++ & C short为一种数据类型,范围-32768~+32767。
(3)c语言int和int扩展阅读:
整型数据的其它分类:
1、长整型:类型说明符为long int或long,在内存中占4个字节。
2、无符号型:类型说明符为unsigned。无符号型又可与上述三种类型匹配而构成:
3、无符号基本型:类型说明符为unsigned int或unsigned。
4、无符号短整型:类型说明符为unsigned short。
5、无符号长整型:类型说明符为unsigned long。
short长度规则:依据程序编译器的不同short定义的字节数不同。标准定义short短整型变量不得低于16位,即两个字节。编译器头文件夹里面的limits.h定义了short能表示的大小:SHRT_MIN~SHRT_MAX。在32位平台下如windows(32位)中short一般为16位。
㈣ c语言中int *a,int a和int* a什么区别
int *a指的是定义一个指向int类型数据的指针a,int a指的是定义一个整数变量a,
int* a跟int *a是一样的,只是int *a更严谨,
比如,int *a,b; 只有a是指针变量
int* a,b; 容易让人觉得a和b都是指针
㈤ c语言中,int是什么意思
C/C++编程语言中,int表示整型变量,是一种数据类型,用于定义一个整型变量,在不同编译环境有不同的大小,不同编译运行环境大小不同。
在32/64位系统中都是32位,范围为-2147483648~+2147483647,无符号情况下表示为0~4294967295。
(5)c语言int和int扩展阅读
matlab中
int用于符号∫
int(s)符号表达式s的不定积分.
int(s,v)符号表达式s关于变量v的不定积分.
int(s,a,b)符号表达式s的定积分, a,b分别为积分的下限和上限.
int(s,v,a,b)符号表达式s关于变量v从 a到b的定积分.
当int求不出符号解,会自动转求数值解。
㈥ C语言,int *a[N] 和 int (*a)[N]有什么区别
一个是指针数组,一个是数组指针
指针数组是一个数组,数组里的元素是指针;
数组指针是指针,这个指针指向了N个元素的数组
㈦ C语言中int*和int *的区别
可以说是没有区别的,不过标准要求是靠近变量的
int *a;
int* a; 这两个意思是相同的,不过通常选第一种。
如果定义int *a,b;这样的话,第一个a是指针第二个是变量。
如果定义成int* a,b;这样的话比较不明朗。
㈧ c语言中static int 和int有什么区别
一、作用不同
1、static int :加上static关键字,这样声明的成员就叫做静态成员,用于定义静态的int型变量。
2、int:是用于定义整数类型变量的标识符。二、特点不同
1、static int :存在不依赖与于任何类对象的存在,类的静态数据成员应该在代码中被显式地初始化
2、int:int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1]。
三、创建方式不同
1、static int :属于整个类,即使没有任何对象创建,类的静态数据成员变量也存在。
2、int:属于类的一个具体的对象,只有对象被创建了,普通数据成员才会被分配内存。
㈨ c语言中unsigned int和int的区别
unsigned 是无符号数.
int是有符号数.
二者占空间大小相同, 区别是最高位,int表示符号位,而unsigned表示数据位.
所以 int可以表示负数,而unsigned不能. 当unsigned可以表示的正数范围比int大一倍.
㈩ C语言中int与cin的区别是什么
这int是定义数值类型的,cin是用于输入的,明显不能通用啊