簡體   English   中英

將char指針數組作為參數傳遞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM