1、引用和指针的区别
1.1 引用不能为NULL
1.2 引用必须要初始化
1.3 引用初始化后,不可指向其他对象
1.4 作为参数传递的时候,不会生产形参。返回引用的时候,不会产生临时变量。
const 指针也有可能产生野指针。
引用具有指针的效率,也具有方便性和直观性。
2、区别函数重载可以是
参数类型(整形、实型、字符型等)
参数个数
但不能是返回类型
3、C++和C定义结构的分别是什么。
Clanguage的结构仅仅是数据的结合
Cplusplus的struct和class其实具备几乎一样的功能,只是默认的访问属性不一样而已。
4、如何判断一个变量是有符号数还是无符号数
4.1 利用了无符号数和有符号数相减结果为无符号数的性质。
#include<stdio.h>
int main()
{
//unsigned int a = 100; //待判断数
int a = 100;
int b = -1; //参照数
if(a<0)
{
printf("有符号数");
}
else
{
if(b-a>0)
printf("无符号数");
else
printf("有符号数");
}
return 0;
}
4.2. 利用函数重载
void f(int val)
{
std::cout << "singned" << std::endl;
}
void f(unsigned int val)
{
std::cout << "unsigned" << std::endl;
}
4.3. 通过改变符号位判断
把A进行一个位运算,将最高位置1,判断是否大于0
A = A|(1 << 31);
if(A > 0)
printf("unsigned");
else
printf("signed");
5、库函数调用和系统调用区别何在
系统调用由操作系统提供,库函数是编译器
6、 检测链表中是否有环
用两个指针,一个的步长为 1,另外一个的为 2,从表头开始一起往前走,如果相遇,表明有环路,否则就是没有了。