C语言学习记录 #2

发布时间:2024年01月20日

字符串的长度计算

在前文中了解到字符串的结尾是 \0 来作为结束的标志,那么也许会有初学者在用strlen计算字符串长度时产生疑惑,\0是否要被计算其中。

结果是不要的,只计算\0之前的字符。

数据类型

C语言中有许多的数据类型,它们被分为内置数据类型与自定义数据类型。

在内置数据类型中有以下8种。

char short int long long long float double _Bool/bool

其中_Bool 和 bool 作为布尔类型可以相互替换。

在布尔类型中,0表示假,非0表示真,它专门用来描述真假。

size of

size of 用来计算类型或表达式的大小(计算结果以字节为单位),size of的返回值为无符号数。

因此我们可以利用 此函数得出各个内置数据类型的大小。

其中 long 被规定 >= int , 因此在不同的编译器的初始值有可能不同。

用 size of 计算表达式的大小

当用size of 计算表达式大小时,表达式本身不进行计算,计算所得大小取决于表达式被赋值的类型。

可以看到在计算第一个表达式(a = b+1)时,结果时8,因为此时long long型的a作为被赋值数,它的大小是8,因此答案是8。

所以第二个表达式算出short型的表达式大小为2.

signed unsigned

signed 关键字,表示?个类型带有正负号,包含负值。

unsigned 关键字,表示该类型不带有正负号,只能表示零和正整数。

对于 int 类型,默认是带有正负号的,也就是说 int 等同于 signed int 。 由于这是默认情况,关键字 signed ?般都省略不写,但是写了也不算错。

同时,unsigned int 可用来扩大int 的最大正数, int 的数据范围是在(-32768~32767),而用unsigned int后,就变为了(0~32768+32767).。

全局变量、局部变量

全局变量定义在主函数之外,整个工程都可被调用。

局部变量被定义在一个{}中,只在所在的{}中有效应。

当全局变量与局部变量同名时,优先使用局部变量的值。

全局变量被创建后放在内存静态区,局部变量被放在内存栈区。

文章来源:https://blog.csdn.net/Moment124/article/details/135708548
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。