【发布时间】:2021-12-12 01:06:55
【问题描述】:
我对指针有困难,我想知道如何使用另一个函数使用指针获取字符串数组的值?
我的代码是:
char *getName(const char *complete_name) {
char buffer[50];
strcpy(buffer, complete_name);
int i = 0;
char *p = strtok (buffer, ",");
char *array[2]; //array[0] = last name and array[1] = first name
while (p != NULL) {
array[i++] = p;
p = strtok (NULL, ",");
}
printf("%s\n", array[0]); // last name
printf("%s\n", array[1]); // first name
return *array;
}
我的主要功能是:
int main() {
const char *patient = "Doe,John";
char *p;
int i;
p = getName(patient);
for ( i = 0; i < 2; i++ ) {
printf("%s\n", p[i]);
}
return 0;
}
我的目标是在我的 main 中访问变量数组,我该怎么做?
谢谢!
【问题讨论】:
-
为什么要同时标记 C 和 C++?
-
A
char *是一个指向字符的指针,对 c-string 指针有效。但是,您正在尝试获取指向 c 字符串数组的指针,因此您至少需要一个char **作为getName的返回值。请注意,array在技术上已经是char **。