Nja, \ betyder att man "escapar" efterföljande tecken.
Ja, och det är bara så jag har använt oktala tal. 0x för hex använder man ju, men oktala tal är inte lika vanligt förekommande så jag har inte vetat att man bara kunde skriva 0 framför. Eller, vetat det har jag säkert gjort, men i och med att jag inte använder det så har det väl fallit i glömska.
Men, som sagt, med backslash före har man stött på dem ibland.
Provade att sätta backslash framför 0'an i min kod och då gick det inte att kompilera koden. Kompilatorn är GCC 3.2.2
Det är riktigt, för då är det inte längre något tal, utan du måste sätta apostrofer runt. Men i praktiken använder man det ju inte så, utan mer inuti strängar:
Det är riktigt, för då är det inte längre något tal, utan du måste sätta apostrofer runt. Men i praktiken använder man det ju inte så, utan mer inuti strängar:
char str[] = "\164\145\163\164";
I strängar gäller följande:
\123 sätter in tecknet med decimala värdet 123
\0123 sätter in tecknet med octala värdet 123
\0x123 sätter in tecknet med hexadecimala värdet 123
I detta fallet gör \ att man kan ange värdet för ett tecken som skall sättas in, inte vilken bas värdet är i utan där gäller dom vanliga reglerna. Börjar det med 1-9 så är det decimalt, börjar det med 0 så är det octalt och börjar det med 0x så är det hexadecimalt.