首页 > 解决方案 > 如何将值 0x00 放入 c 中动态分配的 char* 数组?

问题描述

如何将 0x00 值放入由 malloc 创建的数组中。我尝试了下面的代码,但是没有用。任何回应表示赞赏!

char* a = malloc(3 * sizeof(char));
*a= 0x20;
*(a+1)= 0x00;
*(a+2) = 0x32;

标签: carraysmalloc

解决方案


printf函数中,0x00被认为是字符串的结尾。如果要打印所有数组,可以使用

for(int i = 0;i < 3;i++)
   printf("0x%02X\n", a[i]);

你可以直接使用它,这是正确的。


推荐阅读