char (*p)[]怎么赋值呀
想一个个赋值,赋值之后再把这个整体作为参数传给函数,这些怎么实现呢,或者有没有什么具体的例子?
谢谢大家~
char *p[3] = {"hello", "world", "ok"};
foo(p);
char (*p)[] 是一个指向字符数组的指针,可以用来指向一个字符数组。如果想一个个赋值,可以通过下标进行赋值。
以下是一个具体的例子:
#include <stdio.h>
void printArray(char (*p)[]) {
for (int i = 0; i < 5; i++) {
printf("%s
", (*p)[i]);
}
}
int main() {
char array[5][10] = {
"Hello",
"World",
"How",
"Are",
"You"
};
char (*p)[];
p = array;
printArray(p);
return 0;
}
在上述例子中,首先定义了一个大小为5的字符数组array,然后定义了一个指向字符数组的指针p,将p指向array。然后将p作为参数传递给printArray函数,函数内部通过下标访问并打印字符数组的每个元素。
输出结果为:
Hello
World
How
Are
You
【以下回答由 GPT 生成】
问题: char (*p)[]怎么赋值? (C语言)
回答: char (p)[]是一个指向数组的指针。要逐个赋值char (p)[],可以使用以下步骤: 1. 定义一个要赋值的数组。 2. 将数组的地址赋给char (*p)[]。
下面是一个具体的例子:
#include <stdio.h>
void printArray(char (*p)[]) {
int i;
for(i = 0; i < 5; i++) {
printf("%s ", (*p)[i]);
}
}
int main() {
char arr[5][10] = {"Hello", "World", "How", "Are", "You"};
char (*p)[];
p = arr;
printArray(p);
return 0;
}
在上面的例子中,我们定义了一个包含5个字符串的数组arr,并通过赋值将它的地址赋给了char (*p)[]。然后,我们将p作为参数传递给printArray函数,该函数逐个打印数组中的字符串。
希望这个例子能够帮助您理解如何赋值和传递char (*p)[]类型的参数。如果还有其他问题,请随时提问!
【相关推荐】