C 首选哪一种:';长整型';或';长';

C 首选哪一种:';长整型';或';长';,c,int,long-integer,C,Int,Long Integer,在C中定义长整数的首选方法是什么?是否存在任何兼容性问题 long int ln; 或 不存在“兼容性问题”。它们是完全相同的类型,long是类型名long int的缩写形式。就像short是short int的缩写形式一样 这当然是非常主观的,但我认为大多数C程序员只是使用long没有“兼容性问题”,没有。它们是完全相同的类型,long是类型名long int的缩写形式。就像short是short int的缩写形式一样 这当然是非常主观的,但我认为大多数C程序员只是使用long除了@unwi

在C中定义长整数的首选方法是什么?是否存在任何兼容性问题

long int ln;

不存在“兼容性问题”。它们是完全相同的类型,
long
是类型名
long int
的缩写形式。就像
short
short int
的缩写形式一样

这当然是非常主观的,但我认为大多数C程序员只是使用
long
没有“兼容性问题”,没有。它们是完全相同的类型,
long
是类型名
long int
的缩写形式。就像
short
short int
的缩写形式一样


这当然是非常主观的,但我认为大多数C程序员只是使用
long
除了@unwind的答案之外,还有
long double
当然还有
long long int
。Long可能在实现的其他罕见角落中很有用(
Long char
?),但它始终是一个修饰符,但如果没有需要修改的内容,则假定为
int

传统上,C的语法在很多地方都暗示了
int

myfunction (i, j)
{
     return 6 * i + j;
}
在1979年V6 Unix上的实现中,
myfunction()
将被解释为返回类型
int
,并且这两个参数也将被假定为
int
,除非进一步声明:

float myfunction (i, j)
 long i;  float j;
{
     return 6 * i + j;
}

除了@unwind的答案外,还有
长双精度
当然还有
长整型
。Long可能在实现的其他罕见角落中很有用(
Long char
?),但它始终是一个修饰符,但如果没有需要修改的内容,则假定为
int

传统上,C的语法在很多地方都暗示了
int

myfunction (i, j)
{
     return 6 * i + j;
}
在1979年V6 Unix上的实现中,
myfunction()
将被解释为返回类型
int
,并且这两个参数也将被假定为
int
,除非进一步声明:

float myfunction (i, j)
 long i;  float j;
{
     return 6 * i + j;
}

long和long int之间没有区别。你可以使用你想要的。我宁愿使用long int来记住你所做的事情。

long int和long int之间没有区别。你可以使用你想要的。我宁愿使用long int来记住你所做的事情。

你忘了提到
带符号的long
带符号的long int
:)

根据C标准

5每个逗号分隔的多集指定相同的类型, 除位字段外,是否 说明符int指定与带符号int相同的类型或相同的类型 作为无符号整数

因此,仅对于位字段,例如
int
signed int

考虑到你可以用下面的方式来写例子

const signed const long const int ln;
相当于

const long ln;

您还忘了提到
带符号的长整型
带符号的长整型
:)

根据C标准

5每个逗号分隔的多集指定相同的类型, 除位字段外,是否 说明符int指定与带符号int相同的类型或相同的类型 作为无符号整数

因此,仅对于位字段,例如
int
signed int

考虑到你可以用下面的方式来写例子

const signed const long const int ln;
相当于

const long ln;

如果你工作的公司有编码约定,并且其中包含了这方面的要求,那么你应该遵循约定。但是,如果没有关于如何声明
长int
的规则,请选择您认为最好的


我建议您使用
stdint
中定义的类型。例如,
long int
可能等同于
int32\t
。在很多情况下,了解您使用的变量的位宽度是很有用的。

如果您工作的公司有编码约定,并且这些约定包含了这方面的要求,那么您应该遵循约定。但是,如果没有关于如何声明
长int
的规则,请选择您认为最好的


我建议您使用
stdint
中定义的类型。例如,
long int
可能等同于
int32\t
。在很多情况下,了解所使用变量的位宽度是很有用的。

很好,我个人喜欢长int定义,但我想我会使用较短的定义来节省一些字符。谢谢。这都是关于可读性的,这在本例中无关紧要。很好,我个人喜欢长int定义,但我想我会使用较短的定义来节省一些字符。谢谢。这都是关于可读性的,这在本例中无关紧要。注意:C11规范始终使用
long int
作为
long int ftell(文件*流)。我会遵守集团的编码标准,如果存在的话,在我自己的偏好之前(在
long
中)。注意:C11规范一贯使用
long int
作为
long int ftell(文件*流)。我会遵守集团的编码标准,如果它存在的话,在我自己的偏好之前(在
long
中)。