簡體   English   中英

在函數C中傳遞並修改char array [] []

[英]pass and modify char array[][] in function C

我有一個char數組[] [],我想在void函數上使用它並修改一些值。

char teams[MAX_TEAMS][MAX_NAME_LENGTH + 1] = { "Olympiakos", "P.A.O.K.", "Panathinaikos", "Panionios"};

(MAX_TEAMS和MAX_NAME_LENGTH是程序開頭的#defined整數。而且我要使用void函數來修改數組。如何定義函數,如何從main傳遞數組?以及如何我要在功能中使用它嗎?

void print_teams(char [][]);  (?????)

int main(){
    char teams[MAX_TEAMS][MAX_NAME_LENGTH + 1] = { "Olympiakos", "P.A.O.K.", "Panathinaikos", "Panionios"};
    print_teams(teams);
}

void print_teams(char teams[MAX_TEAMS][MAX_NAME_LENGTH+1]){
     strcpy(teams[0], "Milan FC");  
}

I am looking for a way of declaration so that any modifies inside the void function to be saved at array teams.
Thanks in advance!

在功能teams[0]是一個數組。 您不能分配給數組,只能復制到數組:

strcpy(teams[0], "Milan FC");

還請注意使用引號。

最后,對於函數原型,只需復制函數定義中的聲明即可。

最佳方法:

void print_teams(char [][MAX_COL_SIZE]);

您可以在以下鏈接中找到更多信息: http : //c-faq.com/aryptr/pass2dary.html

並使用strcpy(teams[0],"Real Madrid"); 而不是使用“ =”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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