Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 08:05

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Frage zu Pointern in C

Discussion on Frage zu Pointern in C within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
MÄDMÄN's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 67
Received Thanks: 32
Question Frage zu Pointern in C

Hi ich wollte mal nen String in C ausgeben mit dem Programm hier:
Code:
#include <stdio.h>

int main(void)	{
	char *string="Hallo Welt\0";
	printf("String:%s",[COLOR="#ff0000"]*string[/COLOR]);
	return 0;
}
was nicht geklappt hat also habe ich es so versucht:
Code:
#include <stdio.h>

int main(void)	{
	char *string="Hallo Welt\0";
	printf("String:%s",[COLOR="Red"]string[/COLOR]);
	return 0;
}
dann hats geklappt meine Frage ist jetzt warum hat das geklappt???

mfg MÄDMÄN
MÄDMÄN is offline  
Old 06/16/2009, 18:21   #2
 
elite*gold: 0
Join Date: May 2008
Posts: 489
Received Thanks: 210
*name ist eine Dereferenzierung. Das bedeutet, du greifst auf die Daten zu, die an der Adresse liegen auf die der Zeiger zeigt. In dem Fall also der erste Character des Strings.

Du willst allerdings den ganzen String ausgeben, dazu brauch die printf Funktion die Adresse des Anfanges der Zeichenkette (char - Array). Die Nullterminierung wird automatisch eingefügt, darum musst du dich nicht kümmern.
schlurmann is offline  
Thanks
1 User
Old 06/16/2009, 18:25   #3
 
elite*gold: 115
Join Date: Oct 2007
Posts: 9,390
Received Thanks: 12,345
Quote:
Originally Posted by MÄDMÄN View Post
Code:
	char *string="Hallo Welt\0";
Hier erstellst du einen Pointer, der zu einem nullterminierenden String zeigt. Das heißt, in "string" steht eine Speicheradresse, also sowas wie beispielsweise 0x06B186DF. Diese zeigt auf die Stelle, wo der String liegt.

Der Grund, warum "string" anstatt von "*string" richtig ist ist, dass du einen String anzeigen willst und printf da nunmal einen Zeiger haben will anstatt den ganzen String. Merke dir am besten, dass man wenn man einen String oder ein Objekt per Parameter an einen Funktion gibt, für gewöhnlich immer einen Pointer nimmt. Die Funktion schaut dann, welcher String auf der Adresse liegt.
Warum? Ganz einfach: jedes mal wenn du Parameter an eine Funktion übergibst werden diese kopiert und auf den Stack gelegt. Und schließlich ist es viel sparsamer, wenn man mal einen kleinen 4-Byte Pointer kopiert anstatt direkt einen ganzen Monster-String.

Edit: Zweiter :\
ms​ is offline  
Thanks
1 User
Old 06/16/2009, 18:42   #4
 
MÄDMÄN's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 67
Received Thanks: 32
ok vielen Dank für eure hilfe
MÄDMÄN is offline  
Old 06/16/2009, 18:43   #5
 
elite*gold: 0
Join Date: May 2008
Posts: 489
Received Thanks: 210
Ein sagt mehr als tausend Worte.
schlurmann is offline  
Old 06/17/2009, 14:48   #6
 
MÄDMÄN's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 67
Received Thanks: 32
ok ihr bekommt ein thx...
MÄDMÄN is offline  
Reply


Similar Threads Similar Threads
Brauch Hilfe mit Pointern
06/03/2010 - 4Story - 9 Replies
Hallo ich bin immoment dabei einen 4story EG Hack zu programieren nur dazu brauch ich ja Pointer immer wenn ich wenn ich eine Adresse habe auf "find out what writes this address" klicke stürzzt sogar eg ab und hat eine Hack Block funktion Anweisung wie kann ich machen das 4story offen bleibt für die pointer danke schonmal im vorraus
Hilfe bei den CE Pointern in Autoit
03/19/2010 - AutoIt - 18 Replies
Hi also ich brauche hilfe ich habe pointer für ein spiel mit ce und will jetzt einen hack mit autoit proggen, so das sich der wert der adresse (value) sich ändert aber mit pointern geht das irgendwie nicht weil ich den falschen code habe (glaube ich) mein code: $open = _MemoryOpen(ProcessExists("blablabla.exe" ;)) $adressspeed = 0x0000000<---; (ausgedachter pointer ^^)
Mit Pointern in AutoIt umgehen
02/04/2010 - AutoIt - 11 Replies
Hi, ich komme grade nicht richtig weiter :( Ich habe ein Spiel (zum Test Spider Solitär) wo ich mittels Pointer meine aktuellen Punkte auslesen möchte. Doch ich versteh das nicht richtig mit dem Offset und so. Meine Adresse: http://img704.imageshack.us/img704/1010/unbenannt yje.jpg Un mein (nicht funktionierender) Code
Allg. frage zu Pointern, und wie man sie rausfinde
04/13/2007 - General Coding - 9 Replies
Hallo liebes e*pvp-team, hallo liebe Leute, Nach langer Zeit melde ich mich hier auch mal wieder, und das gleich mit einer Frage, die wohl nicht so einfach zu beantworten ist. Also, vorweg will ich sagen das ich bereits über google.de gesucht habe, und Tutorials, bzw. CodeSnippets angesehen/getestet habe. Zu meiner Frage, wie finde ich den Pointer raus, z.B. bei WoW von den Leben, da das ja über DMA läuft..., Nun, ich finde meine Adresse, beispielsweiße : 0x049f0d = 7000 ; meine...
Problem mti Pointern
11/21/2006 - General Coding - 0 Replies
Also ich wollt mir schnell einen kleinen trainer machen. Da hab ich mal zu GTS gegriffen. Nun hab ich aber einige Probleme. 1. Ist die adresse ein Pointer. Ich hab die Pointer Adresse und den Offset. Nur bin ich mir nicht sicher wie ich das eintragen soll. Erstmal mit Button: Bei Funktion Poke genommen und dann in das Feld reingeschrieben



All times are GMT +1. The time now is 08:06.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.