?
MOV Weltall,Abfall schrieb:
Wo ein Komma gesetzt werden sollte, kann man scheinbar auch per Münzenwurf ermitteln...
LOOOOL
MOV Weltall,Abfall schrieb:
....
Quiz-Antwort: Ein Pointer ist 4bit gross.
achja? sehr interessant ! 6 setzen
das reicht ja nicht einmal für nen ZONK !
nicht mal für einn tic-tac-toe programm.
ganze 16 speicher-adressen kannst du damit ansprechen,
super rechner !
hierzu:
int main(void)
{
const char stringsize=sizeof("Hallo Welt!");
char *text=(char *)malloc(stringsize);
text="Hallo Welt!";
printf("%s",text);
show(text);
getchar();
}
fällt mir folgendes ein:
mov MUELL, QUELLCODE
call MUELLVERBRENNUNG
sorry, aber das ist nicht dein ernst oder ?
schon mal was von dem nullzeichen gehört ?
ganz davon abgesehen, das man in C die rückgabe
von malloc nicht castet und das
die zuweisung text="Hallo Welt!";
wohl nur ein schlechter witz sein kann.
zuviel C++ programmiert oder was ?
na wenigstens hast du jetzt dem Maxx175 gezeigt,
wie man es nicht machen darf
also, zeiger sind auf 32 bit maschinen auch 32 bit
groß und nicht 4, wie dir weltknall weis zu machen versucht
das macht summa summarum 4 byte ( 4*8 = 32 )
bsp:
char text1, char* text2
sizeof(text1) liefert dir eine 1 und weil text2 ein zeiger
ist, eine 4
und ja: du bekommst für
unsigned char text[25];
25 weil 25*sizeof( unsigned char ) = 25 ist
so kugge mal, malloc erwartet als argument die anzahl der byte,
die man gern reserviert hätte.
möchtest du also 30 byte speicherplatz haben, dann geht das so:
pbuf = malloc( 30 );
jetzt kannst du nach belieben die 30 byte mit irgend welchen
werten beschreiben
ein sizeof( pbuf ) liefert dir aber trotzdem eine 4, weil zeiger
in C 'blind' sind und keine informationen enthalten, auf wie viel
byte speicher sie zeigen.
hier bist du als programmierer gefragt, diese größe zu verwalten
nagut, und wenn du den speicherplatz nicht mehr brauchst, dann bist du
so nett und gibst ihn an windows zurück indem du free( pbuf ) aufrufst.
guck dich doch mal im internet um, gibts ne menge tutorials über programmierung.
und immer schön hier weiter im forum beteiligen, hier kann man echt ne menge lernen.
ging mir jedenfalls so.
jetzt haben wir sogar noch MR GERMANISTIK, nen deutschlehrer,
bald kann ich auch kommas setzen...juhuuuuuuuu *freu*
LG an alle forianer,
mfg e.h.p.
p.s.
und vieles kann man auch durch ausprobieren rausfinden, z.b. so:
int main()
{
unsigned char text1;
char* text2;
int* pi1;
double* pb1;
unsigned char* pbuf=NULL;
printf("%d\n", sizeof(text1));
printf("%d\n", sizeof(text2));
printf("%d\n", sizeof(pi1));
printf("%d\n", sizeof(pb1));
printf("%d\n", sizeof( char ) );
printf("%d\n", sizeof( int ) );
printf("%d\n", sizeof( double ) );
printf("%d\n", sizeof( float ) );
pbuf = malloc( 30 ); // speicher reservieren
// mach was damit...
free(pbuf); // speicher freigeben
}