long *blubb = 1234
-
hio,
long *Variable; Variable = 7020;
was is daran falsch und für was is eigentlich der stern
thx im vorraus
-
error C2440: '=' : cannot convert from 'const int' to 'long *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
-
http://www.volkard.de/vcppkold/inhalt.html
und dann das kapitel über zeiger lesen
-
long *Calc_crc( char *ToPatchName ) { FILE *ToPatchFile; char buffer; long *CRC_SUM = NULL; long crcBuffer; ToPatchFile = fopen( ToPatchName, "r+b" ); while( !feof( ToPatchFile ) ) { buffer = fgetc( ToPatchFile ); crcBuffer = buffer ^ ftell( ToPatchFile ); CRC_SUM += crcBuffer; } return CRC_SUM; } int main () { long CRC_AlteDatei = 7020; long *CRC_PatchFile = &CRC_AlteDatei; long *CRC_ToPatchFile; *CRC_PatchFile = 7020; CRC_ToPatchFile = Calc_crc( ToPatchName ); if (CRC_ToPatchFile == CRC_PatchFile) printf("[DONE] (%ld)\n", CRC_ToPatchFile); else printf("[FAIL] (%ld)\n", CRC_ToPatchFile); printf("%ld\n%ld\n", CRC_ToPatchFile, CRC_PatchFile); return 0; }
ein hochgenuss an code ich weiss
printf("%ld\n%ld\n", CRC_ToPatchFile, CRC_PatchFile);
gibt das aus:
7020
6684136wieso , und welche -100% vorhandenen- verbesserungsvorschläge würds für den code geben
thx
-
langweiliger thread :p
Frage 1:
was bedeutet:> long* variable_abc << - meiner ansicht nach is das irgendwie so dass, wenn die zahl zu gross ist irgendwie zu nem doppelten long wird oder so - lasse mich gerne dem richtigen belehren
Frage 2:
und wie weisst man so nem> long* variable_abc <<
einen wert zu?
-
Original erstellt von <MaKo>:
**Frage 1:
was bedeutet:> long* variable_abc << - meiner ansicht nach is das irgendwie so dass, wenn die zahl zu gross ist irgendwie zu nem doppelten long wird oder so - lasse mich gerne dem richtigen belehren
**Du usst dir unbedingt Pointer angucken. das long* zeigt auf eine Speicheradresse hinter der sich dein long verbirgt... mit *variable_abc bekommst du ihren Inhalt...
Original erstellt von <MaKo>:
**Frage 2:
und wie weisst man so nem> long* variable_abc <<
einen wert zu? **s.o.
variable_abc = 100;
Das Sternchen davor bedeutet "Inhalt von"! Beim deklarieren bedeutet long "Zeiger auf ein long im Speicher"
-
-
long* CRC_PatchFile; *CRC_PatchFile = 7020;
so?
das führt nämlich dann zu nem Crash:
printf("PatchFile: %ld", *CRC_PatchFile);
-
hast du dir schon das durchgelesen, was ich gepostet habe?
da steht unter anderem, dass man erst speicher holen muss, auf dem man zugreifen kann:long a; long *blub = &a; //benutze den speicher, der a gehört *blub = 10; //a == 10 long *blub2 = new long; //hole speicher vom free store *blub2 = 201; //und diesen speicher muss man wieder löschen!: delete blub2;
Steht übrigens ausführlich in der FAQ, zu der ich eben diesen einen Link gepostet habe
-
okay, aber wie benutzt man sowas in if abfragen?
if (CRC_ToPatchFile == *CRC_PatchFile)
error C2446: '==' : no conversion from 'long' to 'long *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style casterror C2040: '==' : 'long *' differs in levels of indirection from 'long'
-
if (*CRC_ToPatchFile == *CRC_PatchFile)
-
Ich empfehle dir ein Buch zu kaufen und es dann auch zu lesen.
-
habich
-
ich bin wohl zu blöd für sowas
NUN HELFT MIR SCHON!!!!!!!!
-
Du kannst anscheinend auch nicht lesen. Guck mal 4 Postings über diesem. Ein * hat gefehlt
-
omfg, jetzt muss ich mir meinen Nick registrieren weil irgendwelche kleinkinder die noch jünger als ich sind postings unter meinem nick schreiben
-
-test-