Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C语言中的硬编码字节数组_C_Arrays_Syntax - Fatal编程技术网

C语言中的硬编码字节数组

C语言中的硬编码字节数组,c,arrays,syntax,C,Arrays,Syntax,我正在调试一个网络应用程序 为了让应用程序工作,我必须模拟一些交换的数据。在C++中,你可以做一些类似于< /P>的事情。 char* myArray = { 0x00, 0x11, 0x22 }; 然而,我似乎找不到这种语法的C等价物 基本上,我只想用硬编码的值填充数组。在C中也可以这样做,但应该将其声明为char[],而不是char*,这样就可以通过sizeof操作符获得其大小: char myArray[] = { 0x00, 0x11, 0x22 }; size_t myArraySi

我正在调试一个网络应用程序

为了让应用程序工作,我必须模拟一些交换的数据。在C++中,你可以做一些类似于< /P>的事情。
char* myArray = { 0x00, 0x11, 0x22 };
然而,我似乎找不到这种语法的C等价物


基本上,我只想用硬编码的值填充数组。

在C中也可以这样做,但应该将其声明为
char[]
,而不是
char*
,这样就可以通过
sizeof
操作符获得其大小:

char myArray[] = { 0x00, 0x11, 0x22 };
size_t myArraySize = sizeof(myArray);  // myArraySize = 3
没有

char myArray[] = {0x00, 0x01,0x02};
工作?

尝试:

char myArray[] = { 0x00, 0x11, 0x22 };
  • char myArray[]={0x00,0x11,0x22}


为了完整起见,C99还可以使用复合文字:


    char *myArray = (char []) {0x00, 0x11, 0x22 };

如果源代码与C++兼容是一个要求,最好不要使用这个构造,因为它是-AFAIK——不是C++ C++的一部分。