c - 如何将 char* 转换为 char[]

标签 c pointers dereference

我想知道是否有一种方法可以将第一个字母由 char* 指向的字符串转换为 char[],这样它就不再是指针,而是文字 char[]。

例如,如果我的字符串是“hi my name is bob\0”,并且 char* pointer 通过 memcpy 将此字符串复制到它,是否有办法将其转回字符[]?

如有任何帮助,我们将不胜感激。

最佳答案

不需要转换,你可以索引一个指针,就好像它是一个数组一样。你可以只是为了

char * a;

Ant 然后做

char ch = a[4];

这里有一个类似的问题here

其他方法也一样简单

void f(int* p);

int x[5];
f(x);     // this is the same as f(&x[0])

关于c - 如何将 char* 转换为 char[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18213005/

相关文章:

arrays - Perl:如何在不创建数组副本的情况下取消引用数组?

c - 用顶点数组 : nothing displayed 绘制一系列点

12bit转十进制

c - 将普通数据传递给 pthread void *

c - C 中 *head 和 (*head) 指针的区别

c++ - 更新 : program shows adress of fstream instead of the text file

c++ - 我想返回局部变量的地址

javascript - 解析 javascript 函数中的外部范围引用以进行序列化

c - C 中所有数组元素都是相同的 fget?

c - `*p=&` 和 `p=&` 之间的区别