Hur radera alla variabler på en linje?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur radera alla variabler på en linje?

Inlägg av Al_Bundy »

Det är väll nu goto är till hjälp?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hur radera alla variabler på en linje?

Inlägg av sodjan »

Inte nödvändigtsvis. Koden är lite för lång som ett "test case",
men lite snabbt så ser man ju dock att anropen är lite tokiga.
Olika funktioner som anropar varandra...

Försök skala ner det hela till enbart anropen och bygg logiken därefter.
Sedan kan du fylla på med funktionalliteten.

Varje funktion har enbart *en* ingång och *en* utgång. Den kan
sedan ha anrop till andra funktioner men alla funktioner måste alltid
komma till sitt eget slut i alla fall. Det går inte att hoppa ur en
funktion halvvägs igenom!
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Hur radera alla variabler på en linje?

Inlägg av Al_Bundy »

Tackar!

Jag får träna på mer programmeringslogik imorgon! :)

Egentligen så borde C ha en liten specialfunktion så man slipper anpassa sig hela tiden efter planeringen. Det gör det definitivt enklare och snabbare att programmera.

Typ t.ex om man skriver end(funktionen_1()); så betyder det att efter programmet går in på denna funktion, men inte anropar. :)
Skulle vara smidigt!
Nerre
Inlägg: 27229
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Hur radera alla variabler på en linje?

Inlägg av Nerre »

Al_Bundy skrev:
Nerre skrev:Även en nydeklarerad variabel har ett värde. Har man inte definierat värdet så är det odefinierat, det blir det värde som råkar finnas på den adress i RAM där variabeln placeras.
Så array[2]; innehåller vilka element då? {0,0,0}?
Läs raden ovanför din fråga en gång till.


Och goto är inte så bra att använda hur som helst. Med goto gör du enbart ett hopp i exekveringen, men allt som ligger på stacken kommer att ligga kvar, alla data som du lagt i variabler kommer att ligga kvar i RAM, globala variabler (och static variabler) kommer behålla sitt värde. Att göra en "reset" i ett program är med andra ord inte en helt trivial uppgift, i princip måste du veta vad du gjort fram till "resetpunkten" och sen göra en slags "rollback".

Jag minns att den bok om JSP jag läste tog upp det där, kodar man strukturerat enligt JSP så kan man hamna i situationer där man gjort en massa som behöver göras ogjort. Om jag inte minns fel gjorde man typ som en select-case-sats och allt man gjorde i början fick man koda en "ångring" av i "avbryt-steget".
Skriv svar