簡體   English   中英

此函數聲明中是否存在語法錯誤?

[英]Is there a syntax error in this function declaration?

這來自一本教科書:

/* This function locates the address of where a new structure
   should be inserted within an existing list.
   It receives the address of a name and returns the address of a
   structure of type NameRec
*/
struct NameRec *linear Locate(char *name)
{
...
}

我了解它會返回指向結構NameRec的指針。 為什么“線性”在那里?為什么“線性”和“位置”之間有空間?

#define linear

即使不是以前,也可以使它在語法上正確(不過,從技術上講,您可能需要事先使用#undef linear以避免可能發生的宏定義沖突)。

它完全取決於未顯示的代碼的上下文 到目前為止,在編譯器命令行上沒有頭文件包含或-Dlinear=類的定義,如果沒有擴展,它將無法在符合標准的環境中進行編譯。

當然,最好的告訴方法是嘗試實際編譯該東西,然后看看會發生什么:-)

鑒於第13章的解決方案鏈接 (您要問的那個) 沒有提及解決方案中的linear詞,我想肯定地說您的書是不正確的。 我會考慮與作者聯系(顯然目前正在新澤西州的FDU工作)以解決問題。

這是本書中的錯字。 在這里查看定位功能:

https://users.ipfw.edu/chansavj/ACY2017/ANSI_C/ANSI_C_4thEd/Solutions%20to%20Exercises%20(Windows)/Solutions/83556-0s/Ch13/pgm13-5ex3.c

(由ta.speot.is發表在評論中)

暫無
暫無

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

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