[英]Passing char pointer array as parameter
如何在不創建一個char*
數組並將其初始化的情況下將其作為參數傳遞?
此代碼有效(創建一個初始化代碼):
char *messages[] = {"Zero", "One", "Two", "Three"};
printf("%s", messages[1]);
但是,如果您像這樣通過它,它將不起作用:
#include <stdio.h>
void printElement1(char *messages[]) {
printf("%s", messages[1]);
}
int main(void) {
printElement1({"Zero", "One", "Two", "Three"});
return 1;
}
我不能使用va_list
,該函數采用char*
數組,僅此va_list
。
您只是缺少復合文字的類型。 將該行更改為:
printElement1((char *[]){"Zero", "One", "Two", "Three"});
它將正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.