当我输入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