我有一個問題,我試圖初始化的一些全局字符指針數組變得充滿垃圾數據後,我初始化它們的函數超出了範圍。如何初始化char指針數組,以避免垃圾值?
char *dept_vals[255];
char *num_vals[255];
char *day_vals[255];
char *bldg_vals[255];
char *instr_vals[255];
int start_vals[255];
int end_vals[255];
int sect_vals[255];
int room_vals[255];
int idx;
static int callback(void *NotUsed, int argc, char **argv, char **azColName)
{
int i = 0;
while(i < argc)
{
dept_vals[idx] = argv[i++];
num_vals[idx] = argv[i++];
start_vals[idx] = atoi(argv[i++]);
end_vals[idx] = atoi(argv[i++]);
day_vals[idx] = argv[i++];
sect_vals[idx] = atoi(argv[i++]);
bldg_vals[idx] = argv[i++];
room_vals[idx] = atoi(argv[i++]);
instr_vals[idx] = argv[i++];
idx++;
}
return 0;
}
當我在不同的函數中打印值時,內容不正確。但是,我在同一個函數中初始化的整數數組中的值具有正確的值。我懷疑我初始化char指針數組的方式會導致意外的行爲,但我不完全確定在這種情況下初始化它們的正確方法是什麼。
你把這個條件'我
你是否在昨天包括'stdlib.h'我看到了一個這樣的問題。 –
我明白你的意思是整數值是正確的,但char *結果不是。告訴我們你打印'char *'結果的方式。 –