Initializing a dynamically-sized Variable-Length Array (VLA) to 0

后端 未结 1 1029
误落风尘
误落风尘 2021-01-13 10:45

The following line of code, which creates a variable-length array on the stack:

char name[length] = {\'\\0\'};

Generates the following comp

相关标签:
1条回答
  • 2021-01-13 11:34

    Yes, you must write code for the initialisation of VLAs (which could be a memset() like you have described, or any other way that you care to).

    It is simply a constraint in the C standard (§6.7.8):

    1. The type of the entity to be initialized shall be an array of unknown size or an object type that is not a variable length array type.
    0 讨论(0)
提交回复
热议问题