C语言的一些常规知识(一)
2020春季学期博主开了一门“面向对象视频处理设计”的课程,把在课程上所学到的一点有关C语言和C++语言的知识分享给大家。
一.变量类型所占内存的大小
1.
当在函数内定义一个int、short、float、double等数字型变量时,若变量没有初始化,直接打印会出现错误。若在函数外声明变量(全局变量),没有初始化的情况下系统会自动给变量赋值为0。测试如下:
2.
分别打印出在Win32控制台下打印出int、short、long、long long、double、char、float所占内存大小,这里采用**sizeof()**函数。
3.
在内存里,整数以二进制补码的形式存储,小数以科学计数法存储,字符以其对应的ASCll的形式保存。
4.
无符号的整型和有符号的整型表示的数据大小(占用内存字节数是一样的)是不一样的。这里采用short型举例。
5.
当我们定义一个数组时,数组名中存放的是数组的首地址。
6.
指针类型变量大小是4个字节,存放的是变量的地址。
7.
当定义一个字符串数组时(不浪费内存),数组的大小应该比字符串的长度加一,因为在C语言中,‘\0’ 是 c/c++ 语言中的字符串结束符,在ASCII字符集中对应空字符NULL,数值为0。其作用是识别字符串,简化字符串处理过程。在使用过程中要为其分配内存空间,但不计入字符串长度。