开发者社区 问答 正文

为什么将\ 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 505 分享 版权
1 条回答
写回答
取消 提交回答
  • 在您的特定情况下,此数组用作PF_LOCAL套接字的路径名;看这里。领先的NUL用来指出该地址是一个抽象地址。从man 7 unix开始:

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

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

    2020-02-08 19:59:43
    赞同 展开评论
问答分类:
问答地址: