当前位置:首页 » 编程语言 » c语言int和int

c语言int和int

发布时间: 2022-03-03 05:29:53

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是用于输入的,明显不能通用啊

热点内容
安卓系统个人字典有什么用 发布:2025-01-12 06:13:37 浏览:927
geventpython安装 发布:2025-01-12 06:13:34 浏览:337
放松解压助睡眠直播 发布:2025-01-12 06:13:00 浏览:827
车载wince和安卓哪个好用 发布:2025-01-12 05:58:18 浏览:838
vb6遍历文件夹 发布:2025-01-12 05:58:13 浏览:364
c在C语言中代表什么 发布:2025-01-12 05:52:59 浏览:46
政府PHP 发布:2025-01-12 05:34:30 浏览:651
转码算法 发布:2025-01-12 05:24:02 浏览:418
哪个国家开发安卓系统 发布:2025-01-12 05:08:58 浏览:407
华师数据库 发布:2025-01-12 05:07:03 浏览:505