How to declare a pointer to a character array in C?

后端 未结 2 1048

How do I declare a pointer to a character array in C?

2条回答
  •  萌比男神i
    2021-02-04 21:58

    You can declare it as extern char (*p)[];, but it's an incomplete type. This is of course because C has no "array" type generically that is a complete type; only arrays of a specific size are complete types.

    The following works:

    extern char (*p)[];
    
    char arr[20];
    
    char (*p)[20] = &arr;  // complete type now: p points to an array of 20 chars
    

提交回复
热议问题