程序员笔试的几个区别

1. 大端与小端
CPU存储方式
大端模式:低字节 放高地址;高字节 地低址放
小端模式:低字节 放低地址;高字节 高低址放

2.指针和数组
指针可随时指向任意类型,而数组在静态存储区被创建;
所占字节不同;
指针只能进行==和!=运算;
数组不能赋等号但是可以strcmp;

3.sizeof与strlen
sizeof 求数据类型所占空间大小;(关键字、单目运算符)
strlen求字符串长度;(函数)
sizeof在预处理阶段计算好值;
strlen在程序运行时计算;

4.数组与链表
数组长度有限,链表采用动态分配内存形式;
链表不存在越界问题;
数组从栈中分配内存,链表从堆中分配空间(malloc)

5.TCP与UDP
TCP面向连接,传输数据大,传输速度慢,传输可靠;
UDP面向不连接,传输数据少。传输速度快,传输不可靠;(数据包易丢失)

6.define与const
define 宏定义没有类型 const 定义有类型;

7.define与 (枚举)enum
枚举为整形,枚举常量为int型,枚举可自动赋值;
枚举常量是实体中的一种,二宏定义不是实体;
枚举常量属于常量,宏定义不属于常量;
枚举常量具有类型,define没有;
#define宏常量在预编译阶段简单替换,枚举常量在编译时确定其值;
枚举常量可调试,宏常量不能调试;
枚举一次可定义大量相关常量,define只能定义一个;

8.typedef与define
原理不同:define预处理简单替换;tepedef是关键字,它在预编译时,有类型检查功能
它在自己 作用域内给一个已经存在的类型起别名,如typedef int INT,  INT  a,b 相当于
int a,b;
作用域不同:
define没有作用域的限制,typedef有自己的作用域;
对指针操作不同:
#define INT1 int *;
typedef int * INT2;
INT1 p1,p2;   //int * p1 ==INT1 p1申明一个指针变量p1和一个整形变量p2
INT2 p3,p4  //p3,p4都为指针变量




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值