當我輸入printf
時,Xcode給我一個自動完成提示,如printf(const char *restrict, ...)
。(const char * restrict,...)是什麼意思?
我想知道什麼是「爲const char *限制意味着
和我在哪裏可以找到這些參數,Xcode中拋出的每一個功能的更多信息
當我輸入printf
時,Xcode給我一個自動完成提示,如printf(const char *restrict, ...)
。(const char * restrict,...)是什麼意思?
我想知道什麼是「爲const char *限制意味着
和我在哪裏可以找到這些參數,Xcode中拋出的每一個功能的更多信息
有這背後沒有魔法:??Xcode的看着包含的頭文件,檢查函數原型,並計算出簽名,並根據它所看到的前綴鍵入提示信息。
查看包含的頭文件以找出哪些函數他們有,什麼是參數。例如,printf
是stdio.h
hea的一部分der,其記錄在here中。的printf
簽名如下:
int printf(const char *restrict, ...);
這就是爲什麼Xcode的建議printf(const char *restrict, ...)
爲提示您鍵入。
'restrict'不是名字。 – Deduplicator 2014-12-04 02:40:07
@josh_balmer這是第一個參數的類型。由於'printf'採用了可變數量的參數(最後由'...'表示),Xcode無法告訴您更多關於該函數所需的參數。另一方面,其他函數,比如'strcmp'或'strncpy',你會得到關於函數參數的更多提示。 – dasblinkenlight 2014-12-04 03:11:30
const char *restrict
表示restrict
是指向常數的指針。這基本上意味着不能更改由restrict
指向的變量的值。
不必指向常量,但必須指向不會被修改的東西。 – Deduplicator 2014-12-04 03:21:06
'restrict'不是一個變量名,在這裏,或者指向任何東西 - 它是一個關鍵字。 – 2014-12-04 03:26:23
最好是權威來源,例如C標準:https://stackoverflow.com/questions/81656/where-do-i-find-the-current-c-or-c-standard-documents – Deduplicator 2014-12-04 02:44:18