-1
我對C編程頗爲陌生,並且遇到了一個奇怪的問題。我有一個全局變量tri這是一個結構(tri_fact)與幾個成員。這些成員中的兩個(tri.Q和tri.R)依次是密集矩陣的不同類型的結構(dense_mat)。退出函數C時的全局變量更改值
我有一個函數來初始化一些這些密集矩陣爲零。我遇到的問題是當初始化函數退出時,其中一個矩陣具有垃圾值。然而,在退出之前,一切看起來都不錯。
struct tri_fact tri;
void init_func(){
/*do some initializations*/
/*tri.Q and tri.R looks good*/
}
void func(){
init_func();
/* tri.R looks good, but tri.Q is filled with junk */
}
我是否缺少一些基本的東西?
您需要發表更多的代碼。根據你迄今所說的話,它應該可以工作。請創建一個[演示該問題的最小示例](http://stackoverflow.com/help/mcve) –
很難說,看不到'init_func'中的代碼 –
簡單的猜測:您使用了一些指針,這些指針正在被覆蓋的toblocal變量當函數退出時。 – nneonneo