2014-12-04 547 views
1

當我輸入printf時,Xcode給我一個自動完成提示,如printf(const char *restrict, ...)(const char * restrict,...)是什麼意思?

我想知道什麼是「爲const char *限制意味着
和我在哪裏可以找到這些參數,Xcode中拋出的每一個功能的更多信息

+0

最好是權威來源,例如C標準:https://stackoverflow.com/questions/81656/where-do-i-find-the-current-c-or-c-standard-documents – Deduplicator 2014-12-04 02:44:18

回答

0

有這背後沒有魔法:??Xcode的看着包含的頭文件,檢查函數原型,並計算出簽名,並根據它所看到的前綴鍵入提示信息。

查看包含的頭文件以找出哪些函數他們有,什麼是參數。例如,printfstdio.h hea的一部分der,其記錄在here中。的printf簽名如下:

int printf(const char *restrict, ...); 

這就是爲什麼Xcode的建議printf(const char *restrict, ...)爲提示您鍵入。

+2

'restrict'不是名字。 – Deduplicator 2014-12-04 02:40:07

+0

@josh_balmer這是第一個參數的類型。由於'printf'採用了可變數量的參數(最後由'...'表示),Xcode無法告訴您更多關於該函數所需的參數。另一方面,其他函數,比如'strcmp'或'strncpy',你會得到關於函數參數的更多提示。 – dasblinkenlight 2014-12-04 03:11:30

2

const char *restrict表示restrict是指向常數的指針。這基本上意味着不能更改由restrict指向的變量的值。

+1

不必指向常量,但必須指向不會被修改的東西。 – Deduplicator 2014-12-04 03:21:06

+1

'restrict'不是一個變量名,在這裏,或者指向任何東西 - 它是一個關鍵字。 – 2014-12-04 03:26:23