C语言
小付同学ing
这个作者很懒,什么都没留下…
展开
-
c++中NULL和nullptr的区别
一,C中NULL在C语言中,NULL的类型是((void*)0),相当于一个空指针,会根据不同的指针隐式转换为相应的类型,如char* p = NULL;就将NULL转换成char型。二,c++中的NULL和nullptrC++中的NULL实际上是0,因为在C++中,NULL无法通过隐式转换成其他类型,所以在用NULL代替空指针的时候可能会遇到问题。void func(int){ cout << "func(int)" << endl;}void func(void*原创 2021-09-02 22:22:08 · 327 阅读 · 0 评论 -
二维数组和动态二维数组
两种二维数组的区别C语言中,创建二维数组的方法有两种,一种是直接申请一片连续的空间,然后二维数组的数据依次存放在数组中。动态二维数组顾名思义,可以动态的扩展空间,用户可以自己输入行和列来进行二维数组的创建。下面分别介绍两种数组的区别。二维数组二维数组是行优先存放的,是在内存中连续存放,创建的代码如下所示,是一个三行四列的二维数组。int ar[3][4] = { 12,23,34,45, 56,67,78,89, 90,100,110,120 };动态二维数组动态二维数原创 2021-05-01 11:10:00 · 1119 阅读 · 0 评论 -
c语言宏定义
宏定义和const的区别宏定义没有类型,不开辟空间,做的只是在预编译时的替换,没有分号,否则会把分号也当成变量替换掉。const就是申请一个常变量,有类型,需要开辟一个空间。宏定义常见的考点如上图所示,如果是MAX(++a,b),这样a会增加两次,例如a如果是10,调用之后a的值变为12。比如这个例子,如果不加括号的话,就会变成a + (a * b) + b,造成与你预想的结果不同的值。一些常见的宏#ifndef,意思是如果没有定义就进行操作,可以防止一些头文件重复引用,常常与#endif搭原创 2021-04-27 22:06:13 · 165 阅读 · 0 评论 -
C语言基本知识
C语言数据类型大致分为整型和浮点型,整型包括char, unsigned char, short,unsigned short,int,unsigned int, long int, long long int;浮点型包括float,double等,在内存中的字节数不同。C语言常量大致分为字面常量,宏常量,const修饰的变量,称为常变量,宏常量,枚举常量,字符常量和字符串常量。其中需要注意的是宏常量只是替换作用,而且没有分号,常变量是开辟了空间,枚举类型里面都是整数,不能是小数。...原创 2021-04-21 21:44:03 · 80 阅读 · 0 评论 -
C语言整数数据类型转换
基本数据类型基本整数数据类型包括int,char等,具体见下表,各种类型的存储大小与系统位数有关,但目前通用的以64位系统为主。数据是以二进制补码的形式储存到计算机中的,正数的原码,反码,补码相同,负数补码是反码加一,0代表正数,1代表负数,最高位是符号位,例如10的原码是0000 1010 ,10的反码,补码相同,-10的原码是1000 1010,反码1111 0101, 补码1111 0110。当从小范围到大范围的时候需要扩充,反之需要截断,如果整数类型是有符号的,填充就是符号位,无符号的就是填原创 2021-04-21 11:52:16 · 1000 阅读 · 0 评论