KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: [C-Code]Wo liegt der Fehler
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
vlt wirds offensichtlicher wenn man das so schreibt:

Code:
char *items[5]={"Text anzeigen","Option 2","Option 3","Option 4","Beenden"};


das ist genau das selbe. du definierst einfach eine variable namens items. da items ein array aus chat arrays ist, brauchst du geschweifte klammern zum "füllen" der variable. da du aber trotzdem nur eine variable definierst, und nicht etwa eine methode/funktion, muss am ende ein semikolon.

ok danke hook..

es wäre toll wenn mir mal jemand den code etwas näher erklären könnte...

PHP-Code:
while(1)
    {
                 

        
sceCtrlReadBufferPositive(&pad1);
        if(
pad.Buttons &ampPSP_CTRL_RTRIGGER)
        {
            
int ret menu();
            switch(
ret)
            {
                case 
0:
                    
Code der passiert...();
                    break;

                case 
1:
                    
sceKernelExitGame();
                    break;
                    
                case 
2:
                     
                    
Text("TEXT");
                    
                    break;
            

etc....




@neutro:

also anstatt:

PHP-Code:
char menu[2][15]={"Text Anzeigen""Spiel beenden"}; 


einfach:

PHP-Code:
char *items[2]={"Text anzeigen","Spiel beenden"}; 


?

gruschi :
ok danke hook..

es wäre toll wenn mir mal jemand den code etwas näher erklären könnte...

PHP-Code:
while(1)
    {
                 

        
sceCtrlReadBufferPositive(&pad1);
        if(
pad.Buttons &ampPSP_CTRL_RTRIGGER)
        {
            
int ret menu();
            switch(
ret)
            {
                case 
0:
                    
Code der passiert...();
                    break;

                case 
1:
                    
sceKernelExitGame();
                    break;
                    
                case 
2:
                     
                    
Text("TEXT");
                    
                    break;
            

etc....



Das war ja auch nur ein Beispiel, schnell hingeschrieben^^
Hast du kein normalen Switch-case gelernt?

~Hook~ :

gruschi :
ok danke hook..

es wäre toll wenn mir mal jemand den code etwas näher erklären könnte...

PHP-Code:
while(1)
    {
                 

        
sceCtrlReadBufferPositive(&pad1);
        if(
pad.Buttons &ampPSP_CTRL_RTRIGGER)
        {
            
int ret menu();
            switch(
ret)
            {
                case 
0:
                    
Code der passiert...();
                    break;

                case 
1:
                    
sceKernelExitGame();
                    break;
                    
                case 
2:
                     
                    
Text("TEXT");
                    
                    break;
            

etc....



Das war ja auch nur ein Beispiel, schnell hingeschrieben^^
Hast du kein normalen Switch-case gelernt?


nope
ich könnte wetten das steht bei psp-programming.com^^
doch mit english siehts bei mir nicht so gut aus...

gruschi :
nope


Dann würde ich dir vorschlagen C für den PC zu lernen, erst später mit der PSP anzufangen^^

~Hook~ :

gruschi :
nope


Dann würde ich dir vorschlagen C für den PC zu lernen, erst später mit der PSP anzufangen^^


ok danke...
da muss ich mal den hefter vom freund ausgraben^^

gruschi :
[/php]
@neutro:

also anstatt:

PHP-Code:
char menu[2][15]={"Text Anzeigen""Spiel beenden"}; 


einfach:

PHP-Code:
char *items[2]={"Text anzeigen","Spiel beenden"}; 


?


joa, es ist etwa das selbe. es sind beides 2D arrays. nur bei der ersten variante ist die länge der Menüeinträge auf 15 buchstaben begrenzt und die variable hat nen anderen namen. ansonsten isses das selbe. musste wissen was du besser findest, wobei ich eher zu letzterem tendieren würde

aber dann muss ich doch überall wo menu items schreiben?
du kannst auch statt items menu schreiben. wie die variable heißt ist doch egal
aso ich wusste nich dass das ne variable is^^

//das funzt nicht...
kann mir denn keiner saben wie ich das machen kann (siehe erster post)
das is doch keine sooo schwere funktion...
O.o

char ?

Naja bevor man mit der Programmierung in C auf der PSP beginnt sollte man C wenigstens einiger maße auf dem PC beherrschen. Das soll jetzt nicht böse gemeint sein aber wenn du nicht weist was char ist oder noch nicht mal weist wie eine Array richtig Funktioniert dann solltest du noch mal ein bisschen lernen Smile

Falls du es noch nicht hast kannst du dir ja mal das Buch von C von A bis Z holen.

Ich mein dir bringt es nicht wenn ich dir ein Sample mach das du dann gar nicht richtig verstehst ok Wink

stehn :
O.o

char ?

Naja bevor man mit der Programmierung in C auf der PSP beginnt sollte man C wenigstens einiger maße auf dem PC beherrschen. Das soll jetzt nicht böse gemeint sein aber wenn du nicht weist was char ist oder noch nicht mal weist wie eine Array richtig Funktioniert dann solltest du noch mal ein bisschen lernen Smile

Falls du es noch nicht hast kannst du dir ja mal das Buch von C von A bis Z holen.

Ich mein dir bringt es nicht wenn ich dir ein Sample mach das du dann gar nicht richtig verstehst ok Wink


Jo stehn hat recht^^
Ich könnte dir genauso gut ein Sample schreiben, aber mit C&P kommt man im Leben nicht weiter Wink

Aber die GrundDatentypen sollte man schon wenigstens kennen, char, int, short int, long int, etc..

Lern am besten mit C von A bis Z, ich glaube das habe ich als PDf Download in secret's Siggi gesehen, ich weiß nicht ob das Verboten ist Wink

ok mädels danke für eure hilfe und tipps
Smile

stehn :

~Hook~ :
Mit Switch Case hättest du dieses Problem nicht Wink

Mal ein Beispiel:

PHP-Code:
char *items[5] =
{
    
"Text anzeigen",
    
"Option 2",
    
"Option 3",
    
"Option 4",
    
"Beenden"
}; 


Das ist keine Switch Case sonder eine char array Wink


Das ist kein char Array, sondern ein Array von Pointern zu chars. Das ist ein gehöriger Unterschied.

@Neutrosider:

char *items[2]={"Text anzeigen","Spiel beenden"};

ist kein 2D Array.

Der Unterschied wird an einer Deklaration deutlich.

char items[2][5]; //10 char locations wurden reserviert
char *items[2]; //2 pointer zu char wurden wurden alloziert.

Den Vorteil eines Pointer arrays (und somit ein Unterschied zu einem 2D-Array) hast du ja bereits erwähnt. Im Grunde genommen hast du aber, bei Strings, aber das Richtige gesagt.

PSP_Lord :

stehn :

~Hook~ :
Mit Switch Case hättest du dieses Problem nicht Wink

Mal ein Beispiel:

PHP-Code:
char *items[5] =
{
    
"Text anzeigen",
    
"Option 2",
    
"Option 3",
    
"Option 4",
    
"Beenden"
}; 


Das ist keine Switch Case sonder eine char array Wink


Das ist kein char Array, sondern ein Array von Pointern zu chars. Das ist ein gehöriger Unterschied.

@Neutrosider:

char *items[2]={"Text anzeigen","Spiel beenden"};

ist kein 2D Array.

Der Unterschied wird an einer Deklaration deutlich.

char items[2][5]; //10 char locations wurden reserviert
char *items[2]; //2 pointer zu char wurden wurden alloziert.

Den Vorteil eines Pointer arrays (und somit ein Unterschied zu einem 2D-Array) hast du ja bereits erwähnt. Im Grunde genommen hast du aber, bei Strings, aber das Richtige gesagt.


Achso ok danke schon wieder was neues gelernt ^^

Seiten: 1 2 3
Referenz-URLs