Heim Backend-Entwicklung C#.Net-Tutorial Kann in einem C-Programm eine Kommentaranweisung nur nach einer Anweisung stehen?

Kann in einem C-Programm eine Kommentaranweisung nur nach einer Anweisung stehen?

Dec 31, 2020 pm 02:01 PM
c语言 注释 程序

Fehler, in der C-Sprache hat der Kommentarteil keinen Einfluss auf die laufenden Ergebnisse des Programms. Er kann an einer beliebigen Stelle im Programm erscheinen. In der Sprache C gibt es zwei Arten von Kommentaren: Der eine ist ein Blockkommentar, der mit „/*“ beginnt und mit „*/“ endet; der andere ist ein einzeiliger Kommentar, der mit „//“ beginnt und mit einem Zeilenumbruchzeichen endet.

Kann in einem C-Programm eine Kommentaranweisung nur nach einer Anweisung stehen?

Die Betriebsumgebung dieses Artikels: Windows 10-System, C11, Thinkpad T480-Computer.

Verwandte Empfehlungen: C-Sprachvideo-Tutorial

Kommentare in C-Sprache

Beim Schreiben von C-Sprachquellcode sollten Sie mehr Kommentare verwenden, um das Verständnis des Codes zu erleichtern. Es gibt zwei Möglichkeiten zum Kommentieren in der C-Sprache:

  • Eine ist ein Blockkommentar, der mit /* beginnt und mit */ endet;

  • Die andere beginnt mit // und endet mit einem Zeilenumbruch. Der Schlusszeilenkommentar .

Sie können die Trennzeichen /* und */ verwenden, um Kommentare innerhalb einer Zeile oder Kommentare in mehreren Zeilen zu markieren. Im folgenden Funktionsprototyp bedeuten die Auslassungspunkte beispielsweise, dass die open()-Funktion einen dritten Parameter hat, der optional ist. Kommentare erläutern die Verwendung dieses optionalen Parameters:

int open( const char *name, int mode, … /* int permissions */ );
Nach dem Login kopieren

Sie können // verwenden, um eine ganze Zeile Kommentare einzufügen, oder den Quellcode in einem zweispaltigen Format schreiben, mit dem Programm in der linken Spalte und Kommentaren in der rechten Spalte :

const double pi = 3.1415926536;       // pi是—个常量
Nach dem Login kopieren

In C99 Im Standard wurden einzeilige Kommentare offiziell zur C-Sprache hinzugefügt, aber die meisten Compiler hatten bereits vor C99 damit begonnen, diese Verwendung zu unterstützen. Manchmal werden sie als Kommentare im „C++-Stil“ bezeichnet, tatsächlich sind sie jedoch von BCPL, dem Vorgänger von C, abgeleitet.

Die Position von Kommentaren

In der Sprache C hat der Kommentarteil keinen Einfluss auf die laufenden Ergebnisse des Programms. Er kann an einer beliebigen Stelle im Programm erscheinen.

Beispiel:

int/*....*/i;                                   //正确

char* s="abcdefgh   //hijklmn";                  //正确

in/*...*/ti;                                    //错误注释会被空格替换

//注意:             /*...*/不能嵌套 ,/*总是与离他最近的*/匹配

 y=x/*p           //       该语句由于没有找到*/ 会报错
 
//要实现以上功能  可以用y=x/(*p)或y=x/ *p代替
Nach dem Login kopieren

Kommentarspezifikationen

2-1: Generell muss der Anteil der wirksamen Kommentare im Quellprogramm mehr als 20 % betragen.

Hinweis: Das Prinzip von Kommentaren besteht darin, das Lesen und Verstehen des Programms zu erleichtern. Sie sollten nicht zu viele oder zu wenige Kommentare enthalten prägnant.

2-2: Der Dateikopf sollte kommentiert werden und die Kommentare müssen Folgendes enthalten: Copyright-Erklärung, Versionsnummer, Erstellungsdatum, Autor, Inhalt, Funktion, Änderungsprotokoll usw.

Beispiel: Die Header-Kommentare der folgenden Header-Datei sind relativ standardisiert, sie sind natürlich nicht auf dieses Format beschränkt, es wird jedoch empfohlen, die oben genannten Informationen aufzunehmen.

/*****************************************************************************
Copyright: 1988-1999, Huawei Tech. Co., Ltd.
File name: 文件名
Description: 用于详细说明此程序文件完成的主要功能,与其他模块或函数的接口,输出值、取值范围、含义及参数间的控制、顺序、独立或依赖等关系
Author: 作者
Version: 版本
Date: 完成日期
History: 修改历史记录列表, 每条修改记录应包括修改日期、修改者及修改内容简述。
*****************************************************************************/
Nach dem Login kopieren

2-3: Der Funktionsheader sollte kommentiert werden und Folgendes auflisten: Zweck/Funktion der Funktion, Eingabeparameter, Ausgabeparameter, Rückgabewert, Aufrufbeziehung (Funktion, Tabelle) usw.

Beispiel: Die folgenden Funktionskommentare sind relativ standardmäßig und nicht auf dieses Format beschränkt, es wird jedoch empfohlen, die oben genannten Informationen aufzunehmen.

/*************************************************
Function: // 函数名称
Description: // 函数功能、性能等的描述
Calls: // 被本函数调用的函数清单
Called By: // 调用本函数的函数清单
Table Accessed: // 被访问的表(此项仅对于牵扯到数据库操作的程序)
Table Updated: // 被修改的表(此项仅对于牵扯到数据库操作的程序)
Input: // 输入参数说明,包括每个参数的作// 用、取值说明及参数间关系。
Output: // 对输出参数的说明。
Return: // 函数返回值的说明
Others: // 其它说明
********************************************/
Nach dem Login kopieren

2-4: Kommentieren Sie beim Schreiben von Code, ändern Sie den Code und ändern Sie gleichzeitig die entsprechenden Kommentare, um die Konsistenz von Kommentaren und Code sicherzustellen. Kommentare, die nicht mehr nützlich sind, werden gelöscht.

2-5: Der Inhalt der Anmerkung muss klar und prägnant sein und die Bedeutung muss korrekt sein, um Mehrdeutigkeiten in der Anmerkung zu vermeiden. Erläuterung: Falsche Kommentare sind nicht nur nicht hilfreich, sondern schädlich.

2-6: Kommentare zum Code sollten oberhalb oder rechts daneben (Kommentare zu einer einzelnen Anweisung) platziert werden , sie müssen darüber stehen. Der Code wird durch Leerzeilen getrennt.

Beispiel: Das folgende Beispiel entspricht nicht der Spezifikation.

Beispiel 1:

/* get replicate sub system index and net indicator */
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
Nach dem Login kopieren
Nach dem Login kopieren

Beispiel 2:

repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
/* get replicate sub system index and net indicator */
Nach dem Login kopieren

sollte wie folgt geschrieben werden

/* get replicate sub system index and net indicator */
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
Nach dem Login kopieren
Nach dem Login kopieren

2-7: Für alle Variablen und Konstanten mit physikalischer Bedeutung, wenn ihre Namen nicht vollständig selbsterklärend sind, müssen sie wann mit Anmerkungen versehen werden Sie werden erklärt und erklären ihre physikalische Bedeutung. Kommentare für Variablen, Konstanten und Makros sollten neben oder rechts darüber platziert werden.

Beispiel:

/* active statistic task number */
#define MAX_ACT_TASK_NUMBER 1000
#define MAX_ACT_TASK_NUMBER 1000 /* active statistic task number */
Nach dem Login kopieren

2-8: Datenstrukturdeklaration (einschließlich Arrays, Strukturen, Klassen, Aufzählungen usw.). Wenn die Benennung nicht vollständig selbstkommentiert ist, muss sie mit Anmerkungen versehen werden. Kommentare zur Datenstruktur sollten daneben und nicht darunter platziert werden; Kommentare zu jedem Feld in der Struktur sollten rechts von diesem Feld platziert werden.

Beispiel: Die Aufzählungs-/Daten-/Union-Struktur kann wie folgt erklärt werden.

/* sccp interface with sccp user primitive message name */
enum SCCP_USER_PRIMITIVE
{
N_UNITDATA_IND, /* sccp notify sccp user unit data come */
N_NOTICE_IND, /* sccp notify user the No.7 network can not */
/* transmission this message */
N_UNITDATA_REQ, /* sccp user’s unit data transmission request */
};
Nach dem Login kopieren

2-9: Globale Variablen sollten detailliertere Kommentare haben, einschließlich Beschreibungen ihrer Funktionen, Wertebereiche, welche Funktionen oder Prozeduren auf sie zugreifen und Vorsichtsmaßnahmen beim Zugriff.

Beispiel:

/* The ErrorCode when SCCP translate */
/* Global Title failure, as follows */ // 变量作用、含义
/* 0 - SUCCESS 1 - GT Table error */
/* 2 - GT error Others - no use */ // 变量取值范围
/* only function SCCPTranslate() in */
/* this modual can modify it, and other */
/* module can visit it through call */
/* the function GetGTTransErrorCode() */ // 使用方法
BYTE g_GTTranErrorCode;
Nach dem Login kopieren

2-10: Kommentare werden genauso eingerückt wie der Inhalt, den sie beschreiben.

Beschreibung: Es kann das Programmlayout übersichtlicher gestalten und das Lesen und Verstehen von Kommentaren erleichtern. Beispiel: Das folgende Beispiel ist nicht sauber getippt, was das Lesen etwas erschwert.

void example_fun( void )
{
/* code one comments */
CodeBlock One
/* code two comments */
CodeBlock Two
}
Nach dem Login kopieren
Nach dem Login kopieren

sollte in das folgende Layout geändert werden.

void example_fun( void )
{
/* code one comments */
CodeBlock One
/* code two comments */
CodeBlock Two
}
Nach dem Login kopieren
Nach dem Login kopieren

2-11: Vermeiden Sie das Einfügen von Kommentaren mitten in eine Code- oder Ausdruckszeile.

Hinweis: Sofern nicht erforderlich, sollten Kommentare nicht mitten in Code oder Ausdrücke eingefügt werden, da der Code sonst leicht unverständlicher wird.

2-12: Machen Sie den Code selbstkommentierend, indem Sie Funktionen oder Prozeduren, Variablen, Strukturen usw. richtig benennen und die Struktur des Codes rational organisieren.

Hinweis: Eine klare und genaue Benennung von Funktionen, Variablen usw. kann die Lesbarkeit des Codes verbessern und unnötige Kommentare reduzieren.

2-13: Kommentieren Sie auf Funktions- und Absichtsebene des Codes, um nützliche und zusätzliche Informationen bereitzustellen.

说明:注释的目的是解释代码的目的、功能和采用的方法,提供代码以外的信息,帮助读者理解代码,防止没必要的重复注释信息。

示例:如下注释意义不大。

/* if receive_flag is TRUE */
if (receive_flag)
Nach dem Login kopieren

而如下的注释则给出了额外有用的信息。

/* if mtp receive a message from links */
if (receive_flag)
Nach dem Login kopieren

2-14:在程序块的结束行右方加注释标记,以表明某程序块的结束。

说明:当代码段较长,特别是多重嵌套时,这样做可以使代码更清晰,更便于阅读。示例:参见如下例子。

if (…)
{
// program code
while (index < MAX_INDEX)
{
// program code
} /* end of while (index < MAX_INDEX) */ // 指明该条while 语句结束
} /* end of if (…)*/ // 指明是哪条if 语句结束
Nach dem Login kopieren

2-15:注释格式尽量统一,建议使用“/*…… */”。

2-16:注释应考虑程序易读及外观排版的因素,使用的语言若是中、英兼有的,建议多使用中文,除非能用非常流利准确的英文表达。

说明:注释语言不统一,影响程序易读性和外观排版,出于对维护人员的考虑,建议使用中文。

更多编程相关知识,请访问:编程教学!!

Das obige ist der detaillierte Inhalt vonKann in einem C-Programm eine Kommentaranweisung nur nach einer Anweisung stehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

C Sprachdatenstruktur: Datenrepräsentation und Betrieb von Bäumen und Grafiken C Sprachdatenstruktur: Datenrepräsentation und Betrieb von Bäumen und Grafiken Apr 04, 2025 am 11:18 AM

C Sprachdatenstruktur: Die Datenrepräsentation des Baumes und des Diagramms ist eine hierarchische Datenstruktur, die aus Knoten besteht. Jeder Knoten enthält ein Datenelement und einen Zeiger auf seine untergeordneten Knoten. Der binäre Baum ist eine besondere Art von Baum. Jeder Knoten hat höchstens zwei Kinderknoten. Die Daten repräsentieren structTreenode {intdata; structTreenode*links; structTreenode*rechts;}; Die Operation erstellt einen Baumtraversalbaum (Vorbereitung, in Ordnung und späterer Reihenfolge) Suchbauminsertion-Knoten Lösches Knotendiagramm ist eine Sammlung von Datenstrukturen, wobei Elemente Scheitelpunkte sind, und sie können durch Kanten mit richtigen oder ungerechten Daten miteinander verbunden werden, die Nachbarn darstellen.

Die Wahrheit hinter dem Problem der C -Sprachdatei Die Wahrheit hinter dem Problem der C -Sprachdatei Apr 04, 2025 am 11:24 AM

Die Wahrheit über Probleme mit der Dateibetrieb: Dateiöffnung fehlgeschlagen: unzureichende Berechtigungen, falsche Pfade und Datei besetzt. Das Schreiben von Daten fehlgeschlagen: Der Puffer ist voll, die Datei ist nicht beschreibbar und der Speicherplatz ist nicht ausreichend. Andere FAQs: Langsame Dateitraversal, falsche Textdateicodierung und Binärdatei -Leser -Fehler.

C Sprach -Multithread -Programmierung: Ein Anfängerleitfaden und Fehlerbehebung C Sprach -Multithread -Programmierung: Ein Anfängerleitfaden und Fehlerbehebung Apr 04, 2025 am 10:15 AM

C Sprachmultithreading -Programmierhandbuch: Erstellen von Threads: Verwenden Sie die Funktion pThread_create (), um Thread -ID, Eigenschaften und Threadfunktionen anzugeben. Threadsynchronisation: Verhindern Sie den Datenwettbewerb durch Mutexes, Semaphoren und bedingte Variablen. Praktischer Fall: Verwenden Sie Multi-Threading, um die Fibonacci-Nummer zu berechnen, mehrere Threads Aufgaben zuzuweisen und die Ergebnisse zu synchronisieren. Fehlerbehebung: Lösen Sie Probleme wie Programmabstürze, Thread -Stop -Antworten und Leistungs Engpässe.

CS-Woche 3 CS-Woche 3 Apr 04, 2025 am 06:06 AM

Algorithmen sind die Anweisungen zur Lösung von Problemen, und ihre Ausführungsgeschwindigkeit und Speicherverwendung variieren. Bei der Programmierung basieren viele Algorithmen auf der Datensuche und Sortierung. In diesem Artikel werden mehrere Datenabruf- und Sortieralgorithmen eingeführt. Die lineare Suche geht davon aus, dass es ein Array gibt [20.500,10,5,100, 1,50] und die Nummer 50 ermitteln muss. Der lineare Suchalgorithmus prüft jedes Element im Array Eins nach eins nach dem anderen, bis der Zielwert gefunden oder das vollständige Array durchquert wird. Der Algorithmus-Flussdiagramm lautet wie folgt: Der Pseudo-Code für die lineare Suche lautet wie folgt: Überprüfen Sie jedes Element: Wenn der Zielwert gefunden wird: Return Return Falsch C-Sprache Implementierung: #includeIntmain (void) {i

Wie man einen Countdown in der C -Sprache ausgibt Wie man einen Countdown in der C -Sprache ausgibt Apr 04, 2025 am 08:54 AM

Wie gibt ich einen Countdown in C aus? Antwort: Verwenden Sie Schleifenanweisungen. Schritte: 1. Definieren Sie die Variable N und speichern Sie die Countdown -Nummer in der Ausgabe. 2. Verwenden Sie die while -Schleife, um n kontinuierlich zu drucken, bis n weniger als 1 ist; 3. Drucken Sie im Schleifenkörper den Wert von n aus; 4. Am Ende der Schleife subtrahieren Sie N um 1, um den nächsten kleineren gegenseitigen gegenseitigen gegenseitigen gegenseitig auszugeben.

C Sprachdatenstruktur: Die Schlüsselrolle von Datenstrukturen in der künstlichen Intelligenz C Sprachdatenstruktur: Die Schlüsselrolle von Datenstrukturen in der künstlichen Intelligenz Apr 04, 2025 am 10:45 AM

C Sprachdatenstruktur: Überblick über die Schlüsselrolle der Datenstruktur in der künstlichen Intelligenz im Bereich der künstlichen Intelligenz sind Datenstrukturen für die Verarbeitung großer Datenmengen von entscheidender Bedeutung. Datenstrukturen bieten eine effektive Möglichkeit, Daten zu organisieren und zu verwalten, Algorithmen zu optimieren und die Programmeffizienz zu verbessern. Gemeinsame Datenstrukturen, die häufig verwendete Datenstrukturen in der C -Sprache sind: Arrays: Eine Reihe von nacheinander gespeicherten Datenelementen mit demselben Typ. Struktur: Ein Datentyp, der verschiedene Arten von Daten zusammen organisiert und ihnen einen Namen gibt. Linked List: Eine lineare Datenstruktur, in der Datenelemente durch Zeiger miteinander verbunden werden. Stack: Datenstruktur, die dem LEST-In-First-Out-Prinzip (LIFO) folgt. Warteschlange: Datenstruktur, die dem First-In-First-Out-Prinzip (FIFO) folgt. Praktischer Fall: Die benachbarte Tabelle in der Graphentheorie ist künstliche Intelligenz

Das Konzept der C -Sprachfunktionen und dessen Definitionsformat Das Konzept der C -Sprachfunktionen und dessen Definitionsformat Apr 03, 2025 pm 11:33 PM

C -Sprachfunktionen sind wiederverwendbare Codeblöcke, empfangen Parameter für die Verarbeitung und die Rückgabeergebnisse. Es ähnelt dem schweizerischen Armeemesser, mächtig und erfordert sorgfältige Verwendung. Funktionen umfassen Elemente wie das Definieren von Formaten, Parametern, Rückgabetwerten und Funktionskörpern. Die erweiterte Verwendung umfasst Funktionszeiger, rekursive Funktionen und Rückruffunktionen. Häufige Fehler sind Fehlanpassung vom Typ und Vergessen, Prototypen zu deklarieren. Zu den Debugging -Fähigkeiten gehören das Druckvariablen und die Verwendung eines Debuggers. Leistungsoptimierung verwendet Inline -Funktionen. Das Funktionsdesign sollte dem Prinzip der einzigen Verantwortung folgen. Kenntnisse in C -Sprachfunktionen können die Programmierungseffizienz und die Codequalität erheblich verbessern.

Fehlerbehebungstipps für die Verarbeitung von Dateien in der C -Sprache Fehlerbehebungstipps für die Verarbeitung von Dateien in der C -Sprache Apr 04, 2025 am 11:15 AM

Fehlerbehebungstipps für C -Sprachverarbeitungsdateien Wenn Dateien in der C -Sprache verarbeitet werden, können Sie auf verschiedene Probleme stoßen. Das Folgende sind häufig zu Problemen und entsprechende Lösungen: Problem 1: Der Dateicode kann nicht geöffnet werden: Datei*fp = fopen ("myFile.txt", "r"); if (fp == null) {// Datei Öffnen fehlgeschlagen} Grund} Grund: Dateipfad -Fehler -Datei nicht vorhandener Datei -Read -Lösung vorhanden. Charbuffer [100]; size_tread_bytes = fread (Puffer, 1, Siz

See all articles