Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.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_Structure - Fatal编程技术网

C 如何将结构的数组之一设置为空位置?

C 如何将结构的数组之一设置为空位置?,c,arrays,structure,C,Arrays,Structure,我有一个包含5个元素的数组的结构。我想让数组中的一个元素指向null位置 注意:我的意图不是让结构的任何成员都被赋值为零(不管是零还是垃圾值都可以)。但是如何使结构数组的一个成员指向null位置 例如: typedef struct { int x; int y; int z; } alpha; alpha abc[5]; 我希望abc[0]指向null位置。空值只允许指向指针,并且您没有指针数组。解决方案是制作一个,如下所示: alpha *abc[5]; 然

我有一个包含5个元素的数组的结构。我想让数组中的一个元素指向
null
位置

注意:我的意图不是让结构的任何成员都被赋值为零(不管是零还是垃圾值都可以)。但是如何使结构数组的一个成员指向
null
位置

例如:

typedef struct    
{    
  int x;
  int y;
  int z;
} alpha;

alpha abc[5];

我希望
abc[0]
指向
null
位置。

空值只允许指向指针,并且您没有指针数组。解决方案是制作一个,如下所示:

alpha *abc[5];
然后,您可以访问数组的任何部分并将其设置为
NULL

abc[2] = NULL;

请记住,如果将其更改为指针,则需要分配它(或使其指向有效的内容),并更改访问
结构的每个元素的方式(而不是
abc[1]。x
将是
abc[1]->x

空值仅允许用于指针,并且您没有指针数组。解决方案是制作一个,如下所示:

alpha *abc[5];
然后,您可以访问数组的任何部分并将其设置为
NULL

abc[2] = NULL;

请记住,如果将它更改为指针,则需要分配它(或使它指向有效的对象),并更改访问
结构的每个元素的方式(而不是
abc[1]。x
它将是
abc[1]->x

您将需要类似
alpha*abc[5]
的内容,然后,例如,
abc[3] =null;
数组不是指针。
alpha
不是指针,因此它不能“指向”null位置。您需要类似于
alpha*abc[5]
的内容,然后,例如,
abc[3]=null;
数组不是指针。
alpha
不是指针,因此它不能“指向”到空位置。谢谢@DavidBowlingThanks@DavidBowling