如何在C中声明指向字符数组的指针?

3 c arrays pointers

如何在C中声明指向字符数组的指针?

Car*_*rum 10

我想我会给出这个部分答案:

  1. 这是一个指向chars 数组的指针(我假设一个10元素数组):

    char (*x)[10];
    
    Run Code Online (Sandbox Code Playgroud)

    让我们从基础知识中分解出来:

    x
    
    Run Code Online (Sandbox Code Playgroud)

    是一个指针:

    *x
    
    Run Code Online (Sandbox Code Playgroud)

    到一个数组:

    (*x)[10]
    
    Run Code Online (Sandbox Code Playgroud)

    charS:

    char (*x)[10]
    
    Run Code Online (Sandbox Code Playgroud)
  2. 但是,大多数情况下,您并不真正需要指向数组的指针,而是需要指向数组第一个元素的指针.在这种情况下:

    char a[10];
    char *x = a;
    char *y = &a[0];
    
    Run Code Online (Sandbox Code Playgroud)

    无论是xy正在寻找什么,都是等价的.

  3. 提示:了解如何cdecl让自己更轻松地解决这些问题.