C语言中一些问题

1.千字节(kB)、比特(bit)与字节(Byte)之间的关系?

1kB=1024B

1B=8bit

 

2.声明与定义?

  定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常说的变量名或对象名。

声明有两重含义:

1)告诉编译器,这个名字已经匹配到一块内存上了

2)告诉编译器,这个名字已经预定了,别的地方再也不能用它作为或对象名变量名

 

3.typedef#define的问题?

通常来讲,typedef要比#define要好,typedef不是简单的文本替换

 

4.i++++i的区别?

(1)i++返回原来的值,++i返回加1后的值

(2)I++不能作为左值,而++i可以

 

5.二进制、八进制、十六进制的前缀?

二进制:0b

八进制:0

十六进制:0x

 

6.数据类型及其大小

 

类型               数的范围                               字节数

           int                            -2^31~(2^31-1)                        4  

    unsigned int                   0~65536(2^16-1)                      4    

       short int                         -32718~32767                        2

unsigned short int                   0~65536                              2   

       long int                        -2^31~(2^31-1)                       4

    unsigned long                     0~(2^32-1)                          4

         char                                  -128~127                           1         

    unsigned char                         0~255                              1

 

7.运算符优先级

   !>算术运算符>关系运算符>&&>赋值运算符

 

8.形参与实参

形参变量是属于被调函数的局部变量,实参变量是属于主调函数的局部变量

 

9.局部变量与全局变量

局部变量实在函数内作定义说明的,其作用域仅限于函数内,离开该函数后再使用这种变量是非法的。

全局变量是函数外部的变量,其作用域为整个源程序。

 

10.void类型

用保留字void表示的数据类型有两种完全相反的意思,可以表示没有数据,也可以表示某种任意类型的数据。

void表示空类型,void*表示任意数据的指针类型,程序如要使用void*类型的数据,应该将它强制地转换成某种具体的指针类型。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言,可以通过以下几种方式来解决粘包问题: 1. 定长消息:发送方将每个消息固定为相同的长度,接收方按照固定长度进行接收和解析。这样可以确保每个消息的长度固定,不会发生粘包问题。但是,如果消息长度较短,会造成数据的浪费;如果消息长度较长,会增加传输延迟。 2. 分隔符:发送方在消息之间插入特定的分隔符,接收方根据分隔符来切割消息并进行处理。常见的分隔符有换行符、空格、特殊字符等。这种方式可以灵活地处理不同长度的消息,但是需要确保分隔符在消息内容不会出现。 3. 消息头部长度:发送方在每个消息前添加一个固定长度的头部,头部包含了消息的长度信息。接收方首先读取头部,根据长度信息读取相应长度的数据进行处理。这种方式可以精确地控制每个消息的长度,并且不需要特定的分隔符,但是需要在发送和接收时进行长度转换和处理。 4. 使用特定协议:设计一个特定的协议来处理粘包问题,将消息的长度、类型等信息封装到协议。发送方按照协议进行数据打包和发送,接收方按照协议解析和处理数据。这种方式可以根据实际需求设计更复杂的协议,以满足不同的业务需求。 需要注意的是,解决粘包问题不仅仅是在发送方进行处理,接收方同样需要进行相应的处理。双方需要约定好消息的格式和处理方式,以确保数据的正确传输。 另外,如果使用TCP协议进行通信,TCP本身提供了可靠的数据传输机制,会自动将数据分割成合适的大小进行传输,因此在TCP粘包问题相对较少。但是在一些特殊情况下(如高并发、大数据量等),仍然可能发生粘包问题,因此上述解决方案仍然适用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值