Die Anleitung zum C für den Anfänger

View more categories:

1- Die Vorstellung

Der Unterlagen wird nach der .... geschrieben
  • Eclipse 4.5 (MARS)

2- 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:

3- 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 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 zu arbeiten. Und C++ wird später im anderen Unterlagen erwähnt

4- 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, dass   Eclipse 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

5- 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()

6- 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.
}

7- Das Datatyp in C

7.1- 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  

7.2- 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

7.3- 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

8- 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

9- 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

10- 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

10.1- 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

10.2- 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

10.3- 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

10.4- 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

10.5- 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

11- Der Array im C

11.1- 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

11.2- 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

12- 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;

}

12.1- NULL Pointer

NULL ist eine in einigen 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

13- Die Funktion (Function)

  • TODO

View more categories: