用C表示字符串通常哪一个更好?一个char数组,还是使用一个指向char的指针?为什么



如果知道在一个char数组中,我需要提前知道这个数组可以容纳多少个字符,如果我在同一个变量中更改字符串,这将导致问题。那么,指向字符的指针总是更好吗?

以下是主要区别:

  1. 如果使用指向字符的指针,则有两种选择:
char *s; // You need to allocate memory to this later, at runtime. 
char *s = "Hello World"; // This is a read-only string. You cannot change this later.
  1. 如果使用char数组,则需要定义严格的长度
char c[10]; // Define a buffer of max 10 chars. If last char is , it's a c string.

因此,如果您想要一个只读字符串,请使用指向char的只读指针。

如果您想要一个严格的长度,请使用char数组。

如果要在运行时分配内存,请使用指向char的指针。

相关内容

  • 没有找到相关文章

最新更新