【C语言进阶】字节数组的另一种写法
本文给你介绍一种C语言中字节数组的写法,也许你还没见过?
1 示例代码话不多说,我们直接来看示例代码:
复制 #include int main(int argc, const char *argv[]) { unsigned char i; unsigned char array0[] = {0x12, 0x34, 0x56, 0x78, 0x90}; unsigned char array1[] = “\\x12\\x34\\x56\\x78\\x90”; for (i = 0; i < 5; i++) { printf(“%02x “, array0[i]); } printf(“\\n”); for (i = 0; i < 5; i++) { printf(“%02x “, array1[i]); } printf(“\\n”); return 0; } 2 代码解读这个demo例子其实很简单,就是用两种方式定义了字节数组:
方式1:
使用的是传统数组的定义方式, 复制unsigned char array0[] = {0x12, 0x34, 0x56, 0x78, 0x90};
方式2:
采用的是比较罕见的定义方式, 复制unsigned char array1[] = “\\x12\\x34\\x56\\x78\\x90”;
** **这里的 “\\x12\\x34\\x56\\x78” 其实是利用了 \\x 转移字符,它表示的含义与第一种方式定义字节数组是一样的。
我们来跑一下这个demo:
复制12 34 56 78 90 12 34 56 78 90我们可以清晰看到,输出结果是一样的。
3 总结C语言的很多语法是比较灵活的,有时候换一种写法,我们也应该要知道其本质含义。
就像本文介绍的这种定义字节数组的写法,在某些场合下,还是很管用的,就如我之前接手的一个项目,到处都是这种常量数组的定义。
好了,本文的介绍就到这了,知识点你都get到了吗?
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:【C语言进阶】字节数组的另一种写法-c语言中字节数 https://www.yhzz.com.cn/a/7088.html