April 17, 2006
en exempel kod kan se ut såhär:
int[] s = new int[3];
s[0] = 2;
s[1] = 1;
s[2] = 3;
Console.WriteLine(s[0]); //skriver ut 2
Console.WriteLine(s[1]); //skriver ut 1
Console.WriteLine(s[2]); //skriver ut 3
s = null;
s = new int[3];
Console.WriteLine(s[0]); //skriver ut 0
Console.WriteLine(s[1]); //skriver ut 0
Console.WriteLine(s[2]); //skriver ut 0
nu är vektorn nollad, och är 3 possitioner lång. Syntaxet kanske är lite fel då detta är C#, men hoppas det är till hjälp ändå!
September 27, 2005
Tack för svaren men får det ändå inte rätt. testar såhär:
c++ wrote:
#include
#include
#include
#includeusing namespace std;
int main(int argc, char *argv[])
{
int spela[6];spela[1] = 3;
spela[3] = 4;cout << spela[1] << " " << spela[3] << endl;; memset (spela,0,10); cout << spela[1] << " " << spela[3] << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Får utskriften:
3 4
0 4
? varför får itne position 3 värdet 0?
September 1, 2002
En int är vanligtvis 8 byte. Du sätter de 10 första bytes:en i arrayen till 0 i din kod. De tio första bytes:en är således spela[0] samt två av åtta bytes i spela[1].
Jag föreslår att du använder memset på följande sätt i ditt exempel
memset(spela, 0, sizeof(int)*6) // tömmer hela arrayen (som består av 6 ints)
eller
memset(spela, 0, sizeof(int)*2) // tömmer de två första int:arna i spela-arrayen
sizeof returnerar storleken på en datatyp i bytes.
1 Guest(s)