如何使用 VLA 语法声明带有 const 指针的函数

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

我是 C 语言新手,所以我希望我使用了正确的术语。我看到许多资源建议应该对函数参数使用 VLA 语法,这些参数应该是非空指针,如下所示

void foo(char bar[static 1])

意思是

bar
应该是一个指向char的非空指针,因为指针会衰减。某些编译器可能会发出有关传递空指针的警告。

我想知道如何将参数声明为指向

const
字符的
const
指针。那么 VLA 语法等价于

void foo(char bar* const)

这适用于指向

const char

的指针
void foo(const char bar[static 1])

但是

void foo(const char const bar[static 1])

发出有关重复的警告

const

c pointers
1个回答
0
投票

您需要将

const
关键字放在方括号内:

void foo(const char bar[static const 1])
© www.soinside.com 2019 - 2024. All rights reserved.