我有一个函数有一个参数'char * argument',如:
function(char *x) { ... }
当我调用这个函数时,我传递一个char数组作为参数
function(char_array);
在函数中,我想通过char迭代数组char的元素,所以我的想法是在函数中创建一个数组,并分配函数的参数(即char * x),这样我就可以迭代了数组的元素一个接一个,但是,我似乎无法做这个任务,我得到一个错误,说:
incompatible types when assigning to type ‘char[8000]’ from type ‘char *’
所以问题是:如何为char数组指定char指针?
2 回答
你不能 . 但你可以做的是直接迭代
x
因为指针可以像数组一样使用,就像数组可以转换为指针一样 . 例如 .简短的回答:你不能,除非你手动从指针复制内存(并以某种方式将内存的大小存储到另一个参数或从其他来源获取) .
要保留有关数组
sizeof()
的信息,请通过引用传递:或者,您可以使用指针访问数据(如果数组名称衰减为指针)
确保在这种情况下尊重数组边界 .