codestory

Die Anleitung zum C für den Anfänger

  1. Was brauchen Sie um  C/C++ zu beginnen
  2. Der Unterschied zwischen C und C++
  3. Erstellen Sie ein Projekt mit C
  4. Die Eigenschaften von C und die Achtung in Praxis
  5. Die Struktur von einem C Programm
  6. Das Datatyp in C
  7. Der Zweigbefehl im C (if - else if - else)
  8. Der Befehl Switch
  9. Die Schleife im C
  10. Der Array im C
  11. Der Zeiger (Pointer)
  12. Die Funktion (Function)

1. Was brauchen Sie um  C/C++ zu beginnen

Die Anleitungen von C/C++ auf die Webseite o7planning benutzen wir Eclipse IDE. Sie sollen vor dem Beginn Eclipse und die Umgebung von C/C++ installieren und konfigurieren. Sie können die Anleitung bei... sehen:

2. Der Unterschied zwischen C und C++

Sie sollen eine Überblick haben um den Unterschied zwischen C und C++ zu machen.
C-Sprache ist früher geboren und ist die Verfahrenorientierte Sprache. Sie wird auf dem Betriebsystem leicht ausgefahren (deploy) und gelaufen. C++ wird nach der Verlängerung vom C geboren und sie bringt den Begriff von der objektorientierten Programmierung. C ist die Grundlage vom C++, und C++ wird geboren um C nicht zu ersetzen. Ihre Bibliotheke werden mehr ausgeweitert
Die verfahren-orientierte Programmierung bedeutet hier, dass die Quelle File ( Ihre Code enthalten) enthatet die Funktionen. Inzwischen enthaltet die objektorientierte Source File eine Klasse und in diese Klasse gibt es die Methode. Um eine Methode in der Klasse aufrufen sollen Sie eine Objekt der Klasse erstellen und danach rufen Sie die Funktion durch das Objekt. Und die verfahrenorientierte können Sie direkt aufrufen.
Im Unterlagen leite ich Sie an, wie auf C zu arbeiten. Und C++ wird später im anderen Unterlagen erwähnt

3. Erstellen Sie ein Projekt mit C

Wenn Sie mit Windows 64bit + Eclipse 64bit + Java64bit arbeiten, sollen Sie Eclipse mit der Rechte als Administrator öffnen. Es gibt eine Störung, dassEclipse die Nachrichten (message) auf dem Bildschirm Console in normalen Status nicht ausdruckt
  • File/New/Other..
Im Unterlagen leite ich Sie bei der C Programmierung (C++ wird in dem anderen Unterlagen angeleitet). Allerdings ist das Projekt, das Sie hier erstellen, C++, aber wir benutzen nur die Bibliotheke von C
Typen Sie den Name vom Project:
  • CBasicTutorial
Das Projekt wird erstellt. Die Code vom HelloWorld ist wirklich C++. Allerdings sorgen Sie nicht dafür
Das Projekt kompilieren (compile project).
Das Projekt wird erfolgreich kompiliert
Zum nächsten sollen Sie konfigurieren um das Projekt direkt auf Eclipse zu laufen, das sehr wichtig ist
Das Beispiel HelloWorld durchführen
Oder
Das Ergebnis
OK! Alle laufen gut

4. Die Eigenschaften von C und die Achtung in Praxis

Wenn ein C Programm läuft, findet es die Funktion main() zur Implementation, z.B die Implementation der FUnktion main() vom Beispiel HelloWorld oben.

Ein C Programm hat viele Source File. Jede Source File hat viele Funktion haben. Allerdings erlaubt es nur einzige Funktion main() auf Ihrem ganzen Projekt
Oben haben Sie eine File CBasicTutorial.cpp erstellt. Sie hat eine FUnktion main(), jetzt erstellen Sie eine andere File zur Übung. Zum Beispiel PrimitiveExample.cpp und die Funktion main() , Sie sollen den Name der Funktion main() vom CBasicTutorial.cpp zum einem anderen Name wechseln, damit es keine Konflik verursacht und Sie können kompilieren. Danach können Sie üben was geschrieben wird in PrimitiveExample.cpp.
Meiner Meinung nach sollen Sie während der Übung die Namesveränderung wie folgend wählen
  • CBasicTutorial.cpp
    • main() ==> mainCBasicTutorial()

5. Die Struktur von einem C Programm

Ich werde eine neue File cpp zur Bezeichnung erstellen und die Struktur eines C Programm erklären
Auf Eclipse wählen Sie:
  • File/New/Other...
Typen Sie
  • Source file: MyFirstExample.cpp
  • Template: Default C source temple
Die Source File wird erstellt. Sie hat nichts
Wir wird die Code für die Source File schreiben

Achten Sie: Ändern Sie den Name der Funktion main von der Source File CBasicTutorial.cpp zum mainCBasicTutorial denn ein Projekt vom C erlaubt nur eine Funktion main auf dem ganzen Project.

MyFirstExample.cpp
// Die Benutzung der Standard IO Bibliothek stdio.h erklären
// (Standard IO / Standard Input Output)
#include<stdio.h>

int main() {

	// printf ist eine Funktion der Bibliothek stdio.h
	// Das ist eine Funktion um eine Wortslinie auf dem Bildchirm Console auszudrucken.
	// \n ist das Zeilenvorschubzeichen  (newline character)
	printf("Hello!, This is your first C example.\n");

	// Die Benachrichtigung die Applikation wird enden ausdrucken.
	printf("Exit!");

	// Die Funktion gibt 0 zurück
	return 0;

}
Das Beispiel durchführen
Das Ergebnis

Achtung: Einige Funktion in der Bibliothek conio.h vom C werden im C++ unterstützt. Z.B getch() - Eine Funktion zur Haltung des Programm zu wenn der Benutzer ein Zeichen typen, Dann läuft das Programm weiter. Deshalb benutze ich in dieser Anleitung die solchen Funktionen in die Beispiele

#include<conio.h>

int main() {

	// Hier etwas machen ....
	// Hier das Programm enden, warten darauf, der Benutzer irgendein Zeichen typ 
	// (Die Funktion wird nicht ganz unterstützt)
	getch();

	// Hier etwas machen.
}

6. Das Datatyp in C

Integer Data Typ
Type
Storage size
Value range
Format
char
1 byte
-128 to 127 or 0 to 255
%c
unsigned char
1 byte
0 to 255
%c
signed char
1 byte
-128 to 127
%s
int
2 or 4 bytes
-32,768 to 32,767 or -2,147,483,648 to 2,147,483,647
%d
unsigned int
2 or 4 bytes
0 to 65,535 or 0 to 4,294,967,295
%u
short
2 bytes
-32,768 to 32,767
unsigned short
2 bytes
0 to 65,535
long
4 bytes
-2,147,483,648 to 2,147,483,647
%ld
unsigned long
4 bytes
0 to 4,294,967,295
Floating point type)
Das Typ
Die Speicherungsgröße
Die Wertsbereich
Dezimal
float
4 byte
1.2E-38 to 3.4E+38
6 Dezimal stelle
double
8 byte
2.3E-308 to 1.7E+308
15 Dezimal stelle
long double
10 byte
3.4E-4932 to 1.1E+4932
19 Dezimal stelle
Zum Beispiel
PrimitiveExample.cpp
// Die Benutzung der Standard IO Bibliothek stdio.h erklären
// (Standard IO / Standard Input Output)
#include <stdio.h>

// Die Bibliothek float.h benutzen
#include <float.h>


int main() {

	// Die Funktion sizeof(type) gibt die notwendigen Anzahl von byte zurück um das Daten-Typ zu speichern.
	printf("Storage size for float : %d \n", sizeof(float));

	// FLT_MIN ist die Konstante, die kleinste Wert des float-Typ.
	// Diese Konstante wird in der Bibliothek float.h definiert
	printf("Minimum float positive value: %E\n", FLT_MIN);

	// FLT_MAX ist die Konstante, die kleinste Wert des float- Typ.
	// Diese Konstante wird in der Bibliothek float.h definiert
	printf("Maximum float positive value: %E\n", FLT_MAX);

	// FLT_DIG ist die Konstante, die maximalen Anzahl des Dezimal.
	// Diese Konstante wird in der Bibliothek float.h definiert
	printf("Precision value: %d\n", FLT_DIG);

	return 0;

}
Das Beispiel

7. Der Zweigbefehl im C (if - else if - else)

if ist ein Befehl, der eine Bedingung im C prüft. z.B: Wenn a > b , macht es ....
Die üblichen Vergleichoperator:
Der Operator
Die Bedeutung
Das Beispiel
>
größer
5 > 4 ist richtig (true)
<
kleiner
4 < 5 ist richtig (true)
>=
größer oder gleich
4 >= 4 ist richtig (true)
<=
kleiner oder gleich
3 <= 4 ist richtig(true)
==
gleich
1 == 1 ist richtig (true)
!=
nicht gleich
1 != 2 ist richtig (true)
&&
und
a > 4 && a < 10
||
oder
a == 1 || a == 4
// Die Syntax
if ( condition ) {

	// Hier etwas machen
}
Zum Beispiel
// Das Beispiel 1:
if ( 5 < 10 ) {
	printf( "Five is now less than ten");
}

// Das Beispiel 2:
if ( true ) {
	printf( "Do something here");
}
Die volle Struktur vom If-Else if-Else:
// Achtung: Maximal nur ein Befehl läuft.
// Das Programm prüft die Bedingungen vom oben nach hinten.
// Bei dem Treffen einer richtigen Bedingung wird das Befehlsblock 
// dort laufen und das Programm prüft die restlichen Bedingungen nicht.
...

// Wenn die Bedingung 1 richtig ist  ...
if ( condition1) {

	// etwas machen wenn die Bedingung 1 richtig ist.
}
// Umgekehrt wenn die Bedingung 2 richtig ist ....
else if( condition2 ) {

	// etwas machen wenn die Bedingung 2 richtig ist 
	// (Die Bedingung 1 ist falsch).
}
// Umgekehrt wenn die Bedingung N richtig ist ...
else if( conditionN ) {
	// etwas machen wenn die Bedingung N richtig ist 
	// (Die oben Bedingungen sind falsch).
}
// Die restlichen Fällen.
else {
	// hier etwas machen
}
Zum Beispiel
IfElseExample.cpp
// Die Standard IO Bibliothek stdio.h erklären
// (Standard IO / Standard Input Output)
#include <stdio.h>

int main_IfElseExample() {

	// Eine Zahl, die Ihr Alter vertritt, erklären.
	int age;

	printf("Please enter your age: \n");

	// Manchmal druckt die Benutzung von printf sofort  Ihre Benachrichtigung nicht aus.
	// fflush(stdout) benutzen um die Benachrichtigung auf dem Bildschirm Console sofort auszudrucken.
	// Achtung: stdout ist eine Variable des String (stream), das auf Console ausdruckt
	// (Sie wird in die Bibliothek stdio.h definiert)
	fflush (stdout);

	// Die Funktion scanf wartet darauf, Sie ein Text typen
	// (Und Klicken Sie auf Enter zur Fertigung).
	// Eine Zahl scannen (durch Parameter %d bestimmen) und in die Variable age anweisen
	scanf("%d", &age);

	// Prüfen, ob age kleiner als 80 ist ...
	if (age < 80) {
		printf("You are pretty young");
	}

	// Umgekehrt wenn age in dem Raum von 80 bis 100 liegt, dann
	else if (age >= 80 && age <= 100) {
		printf("You are old");
	}
	// Umgekehrt (die restlichen Fällen)
	else {
		printf("You are verry old");
	}

	return 0;
}
Das Beispiel laufen
Das Programm druck die Wörter "bitte typen Sie ein Zahl", typen Sie 70 und klicken auf Enter.
Das Ergebnis
Sie können das Beispiel wieder laufen und die anderen Zahlen typen und schauen die Ergebnisse

8. Der Befehl Switch

Die Syntax vom Befehl switch:
// switch benutzen um eine Wert einer Variable zu prüfen.
switch ( a_variable ) {
	case value1:
		// Hier etwas machen wenn die Wert der Variable  == value1
		break;
	case value2:
		// Hier etwas machen wenn die Wert der Variable   == value2
		break;

	default:
		// Hier etwas machen wenn die Wert der Variable zur gelisten Wert nicht gehört
		break;
}
SwitchExample.cpp
#include <stdio.h>

int main() {

	// Fordern, der Benutzer wählt eine Option.
	printf("Please select one option:\n");

	printf("1 - Play a game \n");
	printf("2 - Play music \n");
	printf("3 - Shutdown computer \n");

	fflush (stdout);

	// Eine Variable 'option' erklären.
	int option;

	// Die Funktion scanf wartet darauf, Sie eine Text typen
	// (und auf Enter zur Fertigung klicken).
	// Sie wird eine Nummer scannen (durch den Parameter  %d bestimmen)
	// Zur Integer Zahl umwandeln und in die Variable option anweisen
	scanf("%d", &option);

	// Die Wert von 'option' prüfen.
	switch (option) {

	case 1:
		printf("You choose to play the game \n");
		break;
	case 2:
		printf("You choose to play the music \n");
		break;
	case 3:
		printf("You choose to shutdown the computer \n");
		break;
	default:
		printf("Nothing to do...\n");
		break;
	}

	fflush(stdout);

	return 0;

}
Das Ergebnis der Beispieldurchführung (Falls Sie 2 typen und Enter klicken).
Die Achtung
Eine Frage wird erstellt, was bedeutet der BEfehl break in diesem Fall?.

break in diesem Fall sagt dem Programm, aus switch auszutreten. Falls Sie break nicht benutzen, führt das Programm den folgenden Befehlblock'case' (und Defaul Block) bis zum Treffen mit break, umfassend die Wert der Variable in diesem Fall ist anders mit der Wert in 'case'.
Eine Illustration sehen
SwitchExample2.cpp
#include <stdio.h>

int main() {

	// Die Variable Option erklären und die Wert 3 für sie anweisen.
	int option = 3;

	printf("Option = %d \n", option);

	// Die Wert von option prüfen
	switch (option) {

	case 1:
		printf("Case 1 \n");
		break;
	case 2:
		printf("Case 2 \n");
		// No break
	case 3:
		printf("Case 3 \n");
		// No break
	case 4:
		printf("Case 4 \n");
		// No break
	case 5:
		printf("Case 5!!! \n");
		break;
	default:
		printf("Nothing to do...\n");
		break;
	}

	fflush (stdout);

	return 0;

}
Das Ergebnis der Beispiele

9. Die Schleife im C

Die Schleife wird benutzt um einen Befehl block wiederzuholen. Es macht Ihr Programm einen Befehl mehrmals wiederholen. Das ist eine der grundlegenden Aufgabe in der Programmierung
C unterstützt die unterschiedlichen 3 Arten der Schleife
  • FOR
  • WHILE
  • DO WHILE
Die Schleife FOR
Die Struktur der Schleife FOR:
// variable_initialization: Eine Variable erstellen.
// condition: Die Bedingung.
// variable_update: Die neue Wert für die Variable aktuellisieren.
for ( variable_initialization; condition; variable_update ) {
	// Die Kode brauchen implementieren wenn die Bedingung noch richtig ist
}
Zum Beispiel
// Zum Beispiel 1:
// Eine Variable x erstellen und die Wert 0 anweisen.
// Die Prüfungsbedingung ist x < 5.
// Wenn x < 5 richtig ist, läuft das Befehlsblock.
// Nach jeder Iteration wird die Wert x wieder updated,
// Im Beispiel nach jeder Iteration wird sich die Wert von x 1 erhöhen
for (int x = 0; x < 5; x = x + 1) {
	// hier etwas machen wenn  x < 5 richtig ist.
}

// Zum Beispiel 2:
// Eine Variable x erstellen und die Wert 2 anweisen.
// Die Prüfungsbedingung ist  x < 15
// Wenn x < 15 richtig ist, läuft das Befehlsblock.
// Nach jeder Iteration wird sich die Wert von x 3 erhöhen
for (int x = 2; x < 15; x = x + 3) {
	// Hier etwas machen wenn  x < 15 richtig ist.
}
ForLoopExample.cpp
#include <stdio.h>

int main() {

	printf("For loop example\n");

	// Manchmal druckt die Benutzung von printf sofort  Ihre Benachrichtigung nicht aus.
	// fflush(stdout) benutzen um die Benachrichtigung auf dem Bildschirm Console sofort auszudrucken.
	// Achtung: stdout ist eine Variable des String (stream), das auf Console ausdruckt
	// (Sie wird in die Bibliothek stdio.h definiert)
	fflush (stdout);

	// Eine Variable x erstellen und die Wert 2 anweisen.
	// Die Prüfungsbedingung ist x < 15
	// Wenn x < 15 richtig ist, läuft das Befehlsblock.
	// Nach jeder Iteration wird sich die Wert von x 3 erhöhen
	for (int x = 2; x < 15; x = x + 3) {
		printf("\n");
		printf("Value of x = %d \n", x);
		fflush(stdout);
	}
	return 0;

}
Das Ergebnis der Beispieldurchführung
Die Schleife WHILE
Die Syntax der Schleife WHILE:
while ( condition ) {

	// Wenn die Bedingung richtig ist, das Befehlsblock implementieren
}
zum Beispiel
// Zum Beispiel 1:
// Eine Variable x erklären.
int x = 2;

while ( x < 10) {
	// Hier etwas machen wenn x < 10 richtig ist.
	// ....
	// Die Aktuallisierung der neuen Wert für die Variable x.
	x = x + 3;
}
WhileLoopExample.cpp
#include <stdio.h>

int main() {

	printf("While loop example\n");

	fflush (stdout);

	// Eine Variable x erstellen und die Wert 2 anweisen
	int x = 2;

	// Die Prüfungsbedingund ist x < 10
	// Wenn x < 10 richtig ist, läuft das Befehlsblock
	while (x < 10) {
		printf("Value of x = %d \n", x);

		x = x + 3;
		fflush(stdout);
	}
	return 0;

}
Das Ergebnis der Beispieldurchführung
Die Schleife DO WHILE
Die Syntax der Schleife DO-WHILE
// Die Eigenschaften von der Schleife 'do-while' ist die mindestens einmale Durchführung des Befehlsblock.
// Nach jeder Iteration prüft sie die Bedingung zur Durchführung der nächsten Schleife.
do {

	// Hier etwas machen
}while ( condition );  // Note: Need ';'.
DoWhileLoopExample.cpp
#include <stdio.h>

int main() {

	printf("Do-While loop example\n");

	fflush (stdout);

	// Eine Variable x erstellen und die Wert 2 anweisen.
	int x = 2;

	// Die Eigenschaften von der Schleife 'do-while' ist die mindestens einmale Durchführung des Befehlsblock
	// Danach prüft sie die Bedingung um sich zu entscheiden, ob sie das Befehlsblock weiter implementiert oder nicht
	do {
		printf("Value of x = %d \n", x);

		x = x + 3;
		fflush(stdout);
	} while (x < 10); // Note: ==> Need ';'

	return 0;

}
Das Ergebnis der Beispieldurchführung
Der Befehl breack in der Schleife
break ist ein Befehl, der in einen Befehlsblock einer Schleife liegen kann. Das ist der Befehl zur Ende einer bedingunglosen Schleife
BreakExample.cpp
#include <stdio.h>

int main() {

	printf("Break example\n");

	fflush (stdout);

	// Eine Variable erstellen und die Wert 2 anweisen
	int x = 2;

	while (x < 15) {

		printf("----------------------\n");
		printf("x = %d \n", x);

		// Prüfen, wenn x = 5 ist, aus der Schleife austreten
		if (x == 5) {
			break;
		}
		// Die Wert von x in 1 erhöhen (kurz geschrieben x = x + 1).
		x++;
		printf("x after ++ = %d \n", x);

	}
	return 0;

}
Das Ergebnis zur Beispielsdurchführung
Der Befehl continue in der Schleife
continue ist ein Befehl, der in einer Schleife liegen kann. Bei dem Austritt des Befehl continue wird das Programm die Befehlen in den gleichen Schleife und unter vom continue ignorieren und eine neue Schleife beginnen
ContinueExample.cpp
#include <stdio.h>

int main() {

	printf("Continue example\n");

	fflush (stdout);

	// Eine Variable x erstellen und die Wert 2 anweisen.
	int x = 2;

	while (x < 7) {

		printf("----------------------\n");
		printf("x = %d \n", x);

		// % ist der Operator zur Aufnahme der Rest von der Division
		// (Remainder operator).
		// Wenn x die gerade Zahl ist, ignor die folgenden Befehle von 'continue', weiter die neuen Schleife (wenn ja).
		if (x % 2 == 0) {
			// Die Wert von x in 1 erhöhen (kurz geschrieben x = x + 1;).
			x++;
			continue;
		} else {
			// Die Wert von x in 1 erhöhen (kurz geschrieben x = x + 1;).
			x++;
		}
		printf("x after ++ = %d \n", x);

	}
	return 0;

}
Das Ergebnis der Beispielsdurchführung

10. Der Array im C

Ein einseitiger Array
Das ist die Illustratiion des einseitigen Array mit 5 Elemente. Die Elemente werden vom 0 bis 4 markiert
Die Syntax zur Erklärung eines einseitigen Array
// Die Option 1:
// Ein Array von der int Zahl erklären, die Elemente bestimmen
int years[] = { 2001, 2003, 2005, 1980, 2003 };

// Die Option  2:
// Ein Array mit 5 Elemente erklären, die Wert für 3 erste Elemente bestimmen
int age[5] = { 20, 10, 50 };

// Die Option 3:
// Ein Array von der float Zahl erklären, die Elemente bestimmen .
// (Die Umfang von 3).
float salaries[3];
ArrayExample1.cpp
#include <stdio.h>

int main() {

	// Die Option 1:
	// Ein Array mit der Elemente erklären.
	int years[] = { 2001, 2003, 2005, 1980, 2003 };

	// Die notwendigen Anzahl von byte zur Speicherung des int Typ.
	printf("Sizeof(int) = %d \n", sizeof(int));

	// Die notwendigen Byte zur Speicherung des Array
	printf("Sizeof(years) = %d \n", sizeof(years));

	int arrayLength = sizeof(years) / sizeof(int);

	printf("Element count of array years = %d \n\n", arrayLength);

	// Die Schleife for benutzen um die Elemente des Array auszudrucken.
	for (int i = 0; i < arrayLength; i++) {
		printf("Element at %d = %d \n", i, years[i]);
	}

	fflush (stdout);

	// Die Option 2:
	// Ein Array mit Größe von 3 erklären.
	float salaries[3];

	// Die Wert für die Elemente anweisen
	salaries[0] = 1000;
	salaries[1] = 1200;
	salaries[2] = 1100;

	return 0;

}
Das Ergebnis der Beispielsdurchführung
der zweiseitige Array
Das ist die Illustration eines zwei-dimension Array
Die Syntax zur Erklärung des zwei-dimensionellen Array
// Das zweiseitige Array mit dem bestimmten Elemente erklären.
// 3 Zeile & 5 Spalte
int a[3][5] = { { 1, 2, 3, 4, 5 },
		        { 0, 3, 4, 5, 7 },
				{ 0, 3, 4, 0, 0 } };

// Ein zweiseitiges Array erklären,
// Die Anzahl der Zeilen und Spalte bestimmen
int a[3][5];
ArrayExample2.cpp
#include <stdio.h>

int main() {

	// Das zweiseitige Array  erklären.
	// 3 Zeile & 5 Spalte
	int a[3][5] = { { 1, 2, 3, 4, 5 }, { 0, 3, 4, 5, 7 }, { 0, 3, 4, 0, 0 } };

	// Die Schleife for benutzen um die Elemente des Array auszudrucken.
	for (int row = 0; row < 3; row++) {
		for (int col = 0; col < 5; col++) {
			printf("Element at [%d,%d] = %d \n", row, col, a[row][col]);
		}
	}

	fflush (stdout);

	return 0;
}
Das Ergebnis der Beispielsdurchführung

11. Der Zeiger (Pointer)

Ein Zeiger (Pointer) ist eine Variable, deren Wert eine Addresse einer anderen Variable ist. Zum Beispiel, die direkte Addresse von der Speicherungsposition. Wie irgendeine Variable oder ein Konstant sollen Sie einen Zeiger erklären bevor Sie es benutzen. Die Syntax zur Erklärung des Zeiger ist :
type *variable-name;
Zum Beispiel
// Die Erklärung einer Variable mit dem Typ vom int.
int var = 120;

// Die Erklärung eines Zeiger (pointer) .
int *ip;

// Die Wert für ip übertragen (nach der Adresse von der Variable 'var' zeigen).
ip = &var;

// * benutzen um in die Wert von der Variable, wo der Zeiger zeigt zuzugreifen
int var2 = *ip;
PointerExample.cpp
#include <stdio.h>

int main() {

	// Eine Variable erklären
	int var = 120;

	// Einen Zeiger (Pointer) erklären.
	int *ip;

	// Die Addresse von der Variable  'var' für den Zeiger anweisen.
	ip = &var;

	// Die Addresse von der Variable  'var' aufschreiben
	printf("Address of var variable: %x \n", &var);

	// Die Addresse, die in der Variable 'ip' gespeichert wird, aufschreiben.
	printf("Address stored in ip variable: %x \n", ip);

	// Der Zugang in der Wert der Variable, nach der der Zeiger zeigt.
	printf("Value of *ip variable: %d\n", *ip);

	fflush (stdout);

	int var2 = *ip;

	return 0;

}
NULL Pointer
NULL ist eine in einigen C Bibliothek vordefinierten Konstante. Wenn Sie einen Mauszeiger ohne die Zuweisung der bestimmten Wert für den Mauszeiger erklären, wird er nach einer random Speicherungsregion zeigt. In einigen Fällen können Sie den Mauszeiger erklären und die Wert NULL für ihn zuweisen. Sehen Sie ein Beispiel
NULLPointerExample.cpp
#include <stdio.h>

int main() {

	// Einen Zeiger (Pointer) erklären.
	// Keine Wert für den Zeiger anweisen ( er zeigt random nach einem Speicherungsraum).
	int *pointer1;

	// Die Addresse von pointer1 ausdrucken
	printf("Address of pointer1 is %x \n", pointer1);

	// Prüfen, pointer1 ist nicht NULL.
	if (pointer1) {
		// Die Wert des Raum, nach dem pointer1 zeigt, ausdrucken.
		printf("Value of *pointer1 is %d \n", *pointer1);
	}

	// Eine Variable Zeiger (Pointer) erklären.
	// nach der Stelle NULL zeigen (nigendwo zeigen).
	int *pointer2 = NULL;

	// Die Addresse vom pointer2 aufschreiben.
	printf("Address of pointer2 is %x \n", pointer2);

	// Wenn pointer2 NULL ist, die Benachrichtigung aufschreiben.
	if (!pointer2) {
		printf("pointer2 is NULL");
	} else {
		// Achtung:
		// Wenn pointer2 NULL in die Wert vom *pointer2 zugrifft, 
		// wird ein Fehler aufgetreten und das Progamm enden.
		printf("Value of *pointer2 is %d \n", *pointer2);
	}

	fflush (stdout);

	return 0;
}
Das Beispiel laufen

12. Die Funktion (Function)

  • TODO
No ADS