我当时正在研究一些处理0大小数组的代码。具体来说,它们用于动态分配结构大小的情况,如在中。来处理这个问题,并注意到当名称字段是指针时,函数返回整个结构_EventGroup的8字节大小。现在如果我把它改为: int size;};
我得到了4字节,因为gcc将0大小数组标识为不占用空间,gcc为指向零大小数组的指针分配
当我在结构中创建char指针时,我只需将一个字符串赋值给该值,它就可以正常工作。当我试图对int数组执行类似的操作时,我会收到编译警告,这可能是因为我试图做的语法不正确。structure value = { {0, 1} //Error is here每当我试图初始化值对象时,我都会得到一个关于在没有类型广播的情况下从整数生成指针的编译错误我的假设是,这个值需要一个指针,所以我首先请求的是错误的值。
我的问题是,如
我有一个需要const some_type**作为参数的函数(some_type是一个结构,该函数需要指向这种类型的数组的指针)。我声明了一个some_type*类型的局部变量,并对其进行了初始化。然后我调用这个函数作为f(&some_array),编译器(gcc)说:
error: invalid conversion from ‘some_type**’ to ‘const some_type