在C中传递字符串的最佳方法

You*_*Yoo 1 c

我以为

func(char* ary, size_t length)
Run Code Online (Sandbox Code Playgroud)

要么

func(char ary[], size_t length).
Run Code Online (Sandbox Code Playgroud)

你怎么看 ?

P.P*_*.P. 5

两者都绝对相同.传递给函数时,数组会衰减为指针.你可以使用任何一个.

  • 它会衰减,因为你丢失了有关大小的信息,它只是一个指针.可以应用`sizeof`运算符来获取*数组*的大小.但是一旦你将数组传递给函数sizeof只会给出指针的大小(在函数内部),并且无法获得数组大小.我相信它通常被称为*衰减*因为数组变得比它更差(指针). (3认同)