开发者社区> 问答> 正文

为什么将\ 0定义为C中char数组的第一个元素?

当我阅读BlueZ源代码时,经常会看到这样char定义的数组:

// bluez/android/sco-msg.h static const char BLUEZ_SCO_SK_PATH[] = "\0bluez_sco_socket"; 将第一个元素定义为什么有什么好处\0? 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 19:59:36 490 0
1 条回答
写回答
取消 提交回答
  • 在您的特定情况下,此数组用作PF_LOCAL套接字的路径名;看这里。领先的NUL用来指出该地址是一个抽象地址。从man 7 unix开始:

    抽象套接字地址的特征在于sun_path [0]是一个空字节('\ 0')。

    这是第一个元素为的唯一原因\0。

    2020-02-08 19:59:43
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载