第一次在這裏發佈奇怪的浮動?指向結構中的浮點數
我目前正在爲嵌入式設備移植一些代碼。基本上所有的東西都使用一個來自過時的現有專有編譯器的新編譯器(AVR-GCC)
我在結構中遇到了這個奇怪的東西(對我來說!)。我無法弄清楚括號裏是什麼。這是其中用於原始值的結構:
float (*tc)(float value);
我的IDE亮點「值」作爲一個編譯器關鍵字,就像「浮動」,所以我不知道這是AVR-GCC具體點嗎?
這然後在具有所謂的「閱讀」的浮子參數的函數使用,並且它試圖返回以下:
return (raw[rCN3].tc)(reading);
上述實際的線導致程序嘗試訪問出界存儲器的。
我以前沒見過這樣的代碼,所以想知道是否有人可以幫我解密它?它與舊的編譯器一起工作,但造成AVR-GCC的問題
在此先感謝。 Alex
這是一個函數指針。請參閱http://stackoverflow.com/questions/840501/how-do-function-pointers-in-c-work –
「我的IDE強調」值「作爲編譯器關鍵字」< - 它不是C中的一個。也許它使用多種語言的相同熒光筆。 –
BTW:聲明中有多餘的括號,'return raw [rCN3] .tc(reading);'就足夠了。 – wildplasser