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

后端 未结 2 1015

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

2条回答
  •  生来不讨喜
    2021-02-04 21:51

    I guess I'll give this answer in parts:

    1. Here's a pointer to an array of chars (I assumed a 10-element array):

      char (*x)[10];
      

      Let's break it down from the basics:

      x
      

      is a pointer:

      *x
      

      to an array:

      (*x)[10]
      

      of chars:

      char (*x)[10]
      
    2. However, most of the time you don't really want a pointer to an array, you want a pointer to the first element of an array. In that case:

      char a[10];
      char *x = a;
      char *y = &a[0];
      

      Either x or y are what you're looking for, and are equivalent.

    3. Tip: Learn about cdecl to make these problems easier on yourself.

提交回复
热议问题