Ihre Frage ist im Allgemeinen zu allgemein, aber ich kann einige Beispiele erklären.
f
gets , f
open , f
close , ... - Die" f "steht für" Datei ". Diese Funktionen akzeptieren oder geben einen FILE *
-Zeiger im Gegensatz zu einer Dateinummer zurück, wie es die POSIX-Funktionen tun. printf
, scanf
, ... - Das" f "steht für" formatiert ". Diese Funktionen akzeptieren eine Formatzeichenfolge. f
printf , f
scanf - Dies ist eine Kombination der beiden oben genannten Punkte. sinf
, cosf
, ... - Das" f "steht für float
(zur Unterscheidung von double
Alternativen). Beachten Sie, dass dies ziemlich gut zu Suffix-Gleitkommaliteralen mit f
wie in 1.5f
passt. free
, floor
oder setbuf
(" set buffer "), wobei das" f "einfach als ein Zeichen der natürlichen Sprache erscheint. Die Tradition der Vor- oder Nachsilben von Namen mit einzelnen Buchstaben, die den Typ der Argumente angeben, ist eine Notwendigkeit in C, die in C ++ durch Überladung obsolet geworden ist. Tatsächlich funktioniert das Überladen in C ++ dadurch, dass der Compiler diese Suffixe automatisch unter die Haube zu den generierten Symbolen durch einen Prozess namens name mangling .
Das führende f bezieht sich auf den Typ, auf den die Funktion angewendet wird:
fgets
: Verwenden Sie gets
für eine FILE *
handle anstatt nur für stdin
fopen
: Öffnen Sie eine Datei und geben Sie sie als FILE *
(anstelle eines Dateideskriptors, den das ursprüngliche open
verwendet) Das nachfolgende f bedeutet, dass es eine Formatierungszeichenfolge verwendet:
printf
: Ausdruck gemäß dem Formatspezifizierer scanf
: entsprechend dem Format Und kombiniert, erhalten Sie Dinge wie:
fprintf
: Nach dem Format-Spezifizierer FILE *
ausgeben
Wenn Sie Dinge wie die math.h
-Funktionen betrachten, dann bezeichnet das nachfolgende f, dass die bestimmte Funktion auf Operanden vom Typ float
wie folgt wirkt:
powf
: Nimm den Exponenten von float
s powl
: Nimm den Exponenten von long double
s Ein führender f
steht für file
, ein hinterer steht für formatted
;
Beispielsweise wird sscanf
verwendet, um s
trings nach Werten in einem Muster zu durchsuchen, wie in einem Format angegeben, während fprintf
formatierten Text in eine Datei druckt.
EDIT: Oh, und dann gibt es mathematische Funktionen von math.h
, die Typ-Suffixe wie atanf
haben werden, um die arcustangens für Float-Werte zu berechnen.
Ich habe den Eindruck, dass für fgets
und fopen
das f
für Datei steht.
Für printf
und scanf
Ich glaube, dass f
für formatiert steht. Dies wird zumindest teilweise durch den Wikipedia-Artikel auf scanf unterstützt.
In Funktionen aus der stdio
-Bibliothek steht der vorangehende f
in Dingen wie fread
, fprintf
, fwrite
usw. für 'Datei'. Das f
am Ende der Funktionen wie printf
und scanf
steht für 'format'. Somit ist printf FORMATTED Drucken, was bedeutet, dass Sie die Dinge liek %d
und %s
darin verwenden können.
In mathematischen Funktionen bedeutet ein Suffix von f
normalerweise float
.