2013-12-14 68 views
0

我在想如何給C中的一個2 * 2字符數組中的行分配一個字符串值? 這可以用Java做這樣的:爲一行分配一個字符串值

char [][] array = new char[10][10]; 
    array[1] = "foo".toCharArray(); 

回答

2

在C中,你不能「分配」到一個數組。但是,您可以將字符串文字(或任何字符串)複製到數組中。你只需要確保你不會造成緩衝區溢出:

char arr[10][10]; 

const char *str = "foo"; 
if (strlen(str) < sizeof(arr[1])) { 
    strcpy(arr[1], str); 
} 

或者,您可以分配到一個指針(它是一個指針數組的成員):

const char *arr[10]; 
arr[1] = "foo"; 

一不能真正地告訴你需要使用哪一個,除非你提供更多的上下文來確定你想要使用的數組。

+0

我贊成這個答案只是因爲你指出內存泄漏到我的答案。 – haccks

+0

@haccks很好,謝謝! :) – 2013-12-14 19:37:04

相關問題