字符串指针数组语法解释

问题描述 投票:0回答:1

指向字符串的指针数组定义如下:

char *array[];

但这看起来像一个指向单个字符的指针数组。这是一个指向字符串的指针数组?

C 如何知道指针指向字符串的第一个字符,而不是单个字符?

显然这是不正确的,但为什么语法不是这样的:

char[] *array[];

它看起来像一个指向字符数组(字符串)的指针数组。

arrays c string pointers
1个回答
0
投票

C 如何知道指针指向字符串的第一个字符,而不是单个字符?

他不知道。由程序员知道这一点。 语法是一样的。

#include <stdio.h>
#include <string.h>

int main(void)
{
    char* ptr[2];

    char a = 'A';
    ptr[0] = &a;

    ptr[1] = "Hello!";

    putchar(*ptr[0]);
    puts(ptr[1]);

    return 0;
}

指针可以指向字符,也可以指向字符串的第一个字符。

© www.soinside.com 2019 - 2024. All rights reserved.