在C语言中,可以通过使用指针数组或者指向指针的指针来限定大小返回字符串数组。
#include
#define MAX 5
char* *getStrings() {
static char* x[MAX] = {"Apple", "Banana", "Orange", "Mango", "Pineapple"};
return x;
}
int main() {
char* *strings = getStrings();
for (int i = 0; i < MAX; i++) {
printf("%s\n", strings[i]);
}
return 0;
}
#include
#include
#define MAX 5
char** getStrings() {
char** x = malloc(sizeof(char*) * MAX);
x[0] = "Apple";
x[1] = "Banana";
x[2] = "Orange";
x[3] = "Mango";
x[4] = "Pineapple";
return x;
}
int main() {
char** strings = getStrings();
for (int i = 0; i < MAX; i++) {
printf("%s\n", strings[i]);
}
free(strings);
return 0;
}
这两种方法都可以限定大小返回字符串数组,但使用指向指针的指针需要手动分配内存,并且需要在使用完后释放内存。而使用指针数组则不需要手动分配和释放内存。具体使用哪种方法取决于实际需求和编程习惯。