Hallo en welkom.
In deze lezing wil ik graag om
te praten over het concept van variabelen en datatypes.
Oké, dus je moet onthouden dat een programma de instructies van
zijn programma moet opslaan en de gegevens waarop het reageert terwijl uw
computer dat programma uitvoert.
Dus ik wil het gewoon herhalen voor jou het begrip geheugen.
We hebben het hier eerder over gehad lezing, maar ik
vat hier een beetje samen waarom het geheugen zo is belangrijk is en wat het is, omdat het
direct gerelateerd is aan variabelen.
Dus je zou dit moeten begrijpen concept van geheugen, begrijp wat het
verschil is tussen geheugen en een harde schijf.
Maar we kennen die herinnering wordt gebruikt door programma's.
Wanneer een programma moet verzenden instructies naar de CPU, het gaat geheugen gebruiken
en wanneer het ook opslaat data, het gaat geheugen gebruiken en een
programma zal zeker beide doen hiervan om nuttig te zijn.
Dit heet ram, werkgeheugen.
Programma-opslaggegevens en ram, en ze zal kiezen voor variabelen en data.
Ze zullen ook harde schijven gebruiken.
Het verschil tussen het opslaan van gegevens in ram versus een
harde schijf is wanneer u deze opslaat in ram, de gegevens zijn verdwijnen wanneer de computer wordt uitgeschakeld
of wanneer het programma wordt afgesloten.
Als je nu wilt opslaan persistente gegevens, zou u deze op
een harde schijf opslaan.
Programma kan nog steeds gegevens gebruiken op de harde schijf, maar meestal alleen voor externe gegevens, permanente gegevens,
gegevens die ergens worden opgehaald alle variabelen en alle gegevens in
de programma zelf wordt in het geheugen opgeslagen.
Dus geheugen is dat je gewoon kunt zie het een beetje als
deze geordende reeks dozen.
Ik ging proberen een goede te vinden illustratie voor dit om u te helpen.
We zullen dit in veel bespreken
meer detail als we het over pointers hebben, want dan heb
je echt, echt moeten begrijpen en visualiseren hoe het geheugen wordt opgeslagen.
Maar als je geheugen als gewoon beschouwt het is een extern hardwaretype en het is maar een klein stukje geheugen die
je in je moederbord kunt stoppen.
En als je erover nadenkt visueel, conceptueel, is het slechts een
opeenvolging van dozen.
Elke doos vol is zal zijn vertegenwoordigd door het cijfer 1 en wanneer het leeg
is zal zijn voorgesteld door het getal nul.
En het slaat binaire cijfers op.
Er zijn nullen of enen, die waar of onwaar waarden vertegenwoordigen.
En elke doos wordt een beetje genoemd.
Dus bits in het geheugen worden dan gegroepeerd in sets van acht, wat een byte is.
Dus je hebt waarschijnlijk gehoord deze termen bit en byte.
Ze zijn belangrijk als ze zijn gerelateerd aan geheugen omdat het
de grootte van de gegevens bepaalt.
Dus elke byte is gelabeld met een nummer dat een adres vertegenwoordigt.
Als u gegevens hebt opgeslagen ergens in de hardware, je moet weten
hoe je er toegang toe krijgt.
En net als een adres waar je woont, moet je weten hoe je toegang
krijgt tot dat geheugen via een soort etiket.
Dus alle geheugenbits en bytes hebben een adres.
Dus acht byte vertegenwoordigt een adres in het geheugen en het verwijst op unieke wijze
naar die byte.
Dus zo heb je toegang de gegevens en dat is hoe je
het een beetje wilt visualiseren.
Dus nogmaals, het geheugen bestaat uit a groot aantal bits
in groepen van acht die bytes worden genoemd en elke byte heeft een
uniek adres en uw programma heeft toegang tot die gegevens meestal via een
identifier, maar het kan ook hexadecimale adressen gebruiken.
En als je geheugen hebt voor een programma, herinneringen die programma's gebruiken en
herinneringen die op uw moederbord, zal het de efficiëntie van uw programma's verhogen als
u heb meer geheugen en het geheugen is sneller, de bussen zijn
snel jij sneller toegang hebben tot het geheugen.
Dus 16 gig ram, heb je vast wel eens gehoord termen als dat, betekent de grotere
hoeveelheid ram dat programma's kunnen opslaan meer geheugen en sneller toegang.
En onthoud, programma's gebruiken geheugen omdat het gewoon sneller is.
Je moet iets bewaren op een harde schijf zou het
veel langer duren om toegang te krijgen.
En onthoud, we voeren uit een miljard instructies per
seconde door de CPU.
Dus dat zijn veel gegevens waartoe u mogelijk toegang moet hebben.
Dus hoe verhoudt dit alles zich?
Nou, het heeft direct betrekking op dit concept van een variabele.
En zo wordt een programma alleen maar krachtig als het gegevens kan manipuleren.
Het gaat instructies sturen naar de computer, maar
het moet gegevens manipuleren.
Dus om de . te begrijpen verschillende gegevenstypen die
u kunt gebruiken en hoe u deze kunt maken en naamvariabelen, moet u
dit concept van geheugen begrijpen.
En als je een programma schrijft voor om krachtig te zijn, moet je
het concept van variabelen begrijpen.
Hoe ze te maken, een naam te geven en ook dit idee van een gegevenstype.
Constanten zijn soorten gegevens die niet veranderen.
Ze zijn altijd hetzelfde.
Ze behouden hun waarden gedurende de looptijd van het programma.
Dus zolang dat programma is draait, zijn die gegevens altijd hetzelfde.
Variabelen zijn precies het tegenovergestelde.
Het zijn soorten gegevens die kunnen veranderen, en daarom heet het een variabele.
Waarden kunnen dus overal veranderen de levensduur van het programma.
Verschillende waarden voor die variabele.
En variabelen en constanten zijn opgeslagen in het geheugen met een adres.
Het zou echter echt echt moeilijk om toegang te krijgen tot
dat geheugen en alles te onthouden de hexadecimale adressen.
Het is dus een stuk eenvoudiger om te maken variabelen die betekenisvolle namen hebben.
U kunt dus variabele namen geven die de geheugenlocaties vertegenwoordigen om de
adressen weer te geven.
En op die manier heb je er toegang toe en wijzigen die gegevens veel gemakkelijker.
Dus ga er bijvoorbeeld vanuit dat je wilt sla 2 waarden, 10 en 20, op in uw programma.
En in een later stadium, jij deze 2 waarden wilt gebruiken.
Wat zou jij hiermee doen? data is dat
u eerst twee variabelen met betekenisvolle namen zou maken.
Waarschijnlijk zoiets als afhankelijk van wat de 10 en de
20 vertegenwoordigden, maar het zou leeftijden kunnen vertegenwoordigen.
Dus je zou zeggen leeftijd 1 is gelijk aan 10, leeftijd 2 is gelijk aan 20.
Je wilt altijd gebruik betekenisvolle namen.
En dan kun je de waarde opslaan.
Dus je maakt de variabelen met namen, dan wijst u gegevens toe
aan die variabelen, de 10 en de 20.
En ik ga het laten zien je hoe je dat moet doen.
Dan later in je programma, je hebben toegang tot die variabelen op hun
naam om de gegevens te lezen.
En je kunt ze ook aanpassen later in het programma om het te wijzigen
zolang het geen constante is.
Dus wat betreft het benoemen van variabelen, er zijn regels in de programmeertaal c
voor hoe je het kunt noemen.
In c moeten alle namen van variabelen beginnen met een letter of een onderstrepingsteken.
En dan zijn ze te volgen
door elke combinatie van letters, hoofdletters of kleine letters, onderstrepingstekens of cijfers 0 tot 9.
Dus ik zou bijvoorbeeld kunnen
maken een variabele genaamd Jason, myFlag, i, J5x7 my underscore data, een andere variabele onderstrepen.
Dit zijn allemaal variabelen die beginnen met een letter of een onderstrepingsteken en dan wat er ook
op volgt is prima, zolang het maar hoofdletters,
onderstrepingstekens of cijfers zijn.
Hier zijn enkele voorbeelden van ongeldige variabelenamen.
Je zou niet kunnen creëren variabelen met deze namen, zou
de compiler u een foutmelding geven.
Als je het tijdelijke dollarteken zou zeggen waarde, zou de compiler u een foutmelding geven
omdat de dollar teken is geen geldig teken.
U kunt het dollarteken dus niet gebruiken.
Mijn ruimtevlag die je zal geven een fout omdat er een spatie is.
3Jason, dat is een fout omdat je begint een variabele met een getal,
dat kan niet in c.
Onthoud dat de compiler controleert deze regels, zodat ze het je vertellen als
je het mis hebt.
Int, int is eigenlijk ook een fout.
Het ziet er goed uit want het begint met een alfanumeriek teken.
Het probleem hier is dat het een sleutelwoord is.
Alle programmeertalen hebben bepaalde woorden met een speciale betekenis die
u niet voor namen kunt gebruiken.
En int is een specifiek gegevenstype voor de programmeertaal c, dus die kun je
niet als variabelenaam gebruiken.
Dit zijn dus enkele voorbeelden van variabele namen die niet goed zijn.
Ik zei eerder dat wanneer je maak wel variabelenamen, je wilt zeker
weten dat ze betekenisvol zijn.
We hebben het al over opmerkingen gehad en het belang
van opmerkingen voor zelfdocumentatie en als je de code begrijpt, zijn
betekenisvolle namen precies hetzelfde.
Als je betekenisvolle namen hebt in uw code, het
kan het vermogen van het programma vergroten, het is veel gemakkelijker te volgen en het
helpt ook bij het debuggen en documentatie proces, dus gebruik zinvolle namen.
En dat zullen we de hele tijd doen alle voorbeelden die we doornemen.
Dus zodra we de variabelen een naam geven en we een variabele hebt, hoe zit het met de gegevens die aan
die variabele zijn gekoppeld.
Dat wordt een gegevenstype genoemd.
Dus sommige soorten gegevens in programma's kunnen cijfers, letters of woorden zijn.
We hebben het net gehad over hoe je dat kunt hebben 10
en 20 als waarden, en u kunt ook alfanumeriek hebben of tekenreeksen of tekens.
Dus afhankelijk van dat type gegevens heeft een manier nodig om het te identificeren, zodat het bepaalde dingen kan doen heeft eigenlijk
alleen invloed op de grootte van de gegevens in het
geheugen, hoe deze worden opgeslagen.
Dus een gegevenstype vertegenwoordigt a type van de gegevens, die u
met uw programma kunt verwerken.
Voorbeelden van soorten gegevens die ik noemde cijfers, letters en woorden,
die worden weergegeven door specifieke trefwoorden in de programmeertaal.
Dus voorbeelden van zoekwoorden in c die gegevenstypen vertegenwoordigen
zijn ints, floats en doubles.
En we gaan het hebben over deze specifieke datatypes en wat
ze betekenen in een ander college.
Maar gegevenstypen zijn belangrijk omdat: u moet de gegevens van de variabele specificeren
wanneer u deze maakt.
En de gegevenstypen gaan om overeen te komen met de bytegroottes,
afhankelijk van het besturingssysteem de architectuur van uw programma.
Dus nogmaals, het moet allemaal doen met de grootte en hoe dit spul
in het geheugen wordt opgeslagen.
Het programma moet weten of ik moet 8 bytes, 4 bytes, 6 bytes toewijzen en het hangt allemaal
af van de gegevens die worden opgeslagen en de manier waarop het programma
weet hoe het moet doe dat is u een gegevenstype specificeert.
Er is ook dit idee of misschien heb je gehoord van deze
term die primitieve gegevenstypen wordt genoemd.
Dit zijn typen die geen objecten zijn en ze slaan allerlei gegevens op.
In c hebben we alleen primitieve gegevens typen omdat we geen objecten hebben.
Dus alles is een primitief gegevenstype in c.
Als we nu echt willen beginnen met behulp van variabelen in ons programma,
moeten we ze eerst declareren.
Het declareren van een variabele betekent dat je specificeer het type van de variabele gevolgd door de
naam van de variabele.
U gebruikt dus het gegevenstype gevolgd door de naam.
En dit vertelt de compiler hoe: een bepaalde variabele zal door het programma
worden gebruikt en het zal begrijp ook hoeveel gegevens in het geheugen moeten
worden opgeslagen, of het nu gaat om 8 bytes, 4 bytes enzovoort.
Zo is er bijvoorbeeld een gereserveerd bestel trefwoord in c met de naam int.
Dat wordt gebruikt om a . aan te geven gegevenstype van het type geheel getal.
En dus als je wilde creëren dat u in uw
programma eerst de gegevens moet identificeren typ het sleutelwoord dat int is.
Dan moet je de naam hebben van uw variabele die
ook wel een identifier wordt genoemd.
En dan aan het einde, zou je moeten een puntkomma
hebben, want onthoud in c alle puntkomma's eindigen op alle uitspraken.
Dus de eigenlijke syntaxis is als: type specificeren of gegevenstype specificeren
na met variabele naam gevolgd door de puntkomma.
U kunt ook meer declareren dan één variabele op een enkele regel door een
komma te gebruiken of u kunt declareren variabelen op aparte regels.
Het hangt er allemaal van af, maar er is syntaxis voor door komma's gescheiden variabelen.
En c vereist dat je alles specificeert programmavariabelen eerder worden gedeclareerd.
Ze worden gebruikt dus verklaring is eigenlijk gewoon je programma vertellen
dat dit is wat ik heb.
Het vertelt je niet hoe je het gebruikt.
Het zegt alleen dat dit zo is wat ik in mijn programma heb.
Ik heb een variabele met de naam int.
Ik heb een variabele die is om een decimaal getal op te slaan,
dat soort dingen.
Dus hier is een voorbeeld.
We hebben het type gegevens: dat is int en dan de naam
van de variabele en hier is gewoon x en dan hebben we een puntkomma.
Nog een voorbeeld als je wilde maak meerdere
variabelen op dezelfde regel, u kunt ze scheiden door komma's.
Dus in dit voorbeeld hebben we 3 variabelen van het type int genaamd x y en z.
En dit heet variabelen declareren.
We hebben geen gegevens toegewezen aan: de variabelen, we zeiden
net dat dit de variabele is die bestaat en wat er in het programma zal gebeuren, is dat
het programma zal creëren die 3 variabelen in het geheugen, maar er
zijn nog geen waarden voor.
U kunt een variabele van waarde toewijzen door een gelijke operator te gebruiken, en we gaan hier in
meer over praten detail als we het over operators hebben.
Maar dit is vrij eenvoudig, en je zou het moeten begrijpen door een
variabele aan een waarde toe te wijzen, gewoon gebruik is gelijk aan
en vervolgens de werkelijke letterlijke constante van het type.
Dus in dit geval is x een geheel getal een decimaal, dus we wijzen het 112 toe, en
dan hebben we de puntkomma.
Dat is een waarde toekennen.
In nauw verband met het toewijzen van een waarde initialiseert de variabele.
Het initialiseren van de variabele is in feite een initiële waarde
voor die variabele hebben.
Het is belangrijk om te initialiseren uw variabelen, want als ze geen gegevens
hebben, alle waarden geassocieerd met hen, kan dit problemen
veroorzaken in uw programma.
Dus je wilt in de gewoonte van initialisatie.
En initialisatie kan worden gedaan als onderdeel van de aangifte, hoeft dat
niet te zijn.
Kortom, wat er gebeurt, is wanneer je declareer de variabele en
je zegt hey dit is mijn variabelenaam, dit is mijn type variabele, dan kun je
meteen de gelijken hebben operatoren en vervolgens de waarde van
de variabele gevolgd door een puntkomma.
Zoals bijvoorbeeld index gelijk is aan 21.
In dat geval verklaart u a variabele met de naam acts van
het type int en je wijst het ook toe a waarde van 21 initialiseren
van een eerste waarde, en dat is initialisatie.
Een ander voorbeeld in y is gelijk aan 32, z is gelijk aan 14.
We kunnen het op dezelfde lijn doen, initialiseer 2 variabelen van hetzelfde type, int
z is gelijk aan 94 is oké om te doen door de compiler, maar in dit geval
initialiseert u niet beide variabelen.
Alleen z wordt geïnitialiseerd.
X is niet geïnitialiseerd.
Dus z wordt gelijk aan 94, x zal geen waarde hebben.
Dus dat is belangrijk.
En dat gaan we worden het declareren van
geïnitialiseerde variabelen in onze hele code.
Dus laat me gewoon gaan en we zullen breng een eenvoudig project in codeblokken naar voren en
ik kan je laten zien hoe je kunt in principe deze variabelen
declareren, net als deze voorbeelden.
Dus hier zijn we in codeblokken.
Dit zou er bekend uit moeten zien onze vorige voorbeeldprogramma's.
We hebben enkele opmerkingen bij de top van regel 1 tot en met
6 tot opmerkingen met meerdere regels.
We hebben onze include-richtlijn op regel 8, met de mededeling dat
we de standaardbibliotheek gaan gebruiken.
En dan hebben we onze inzending wijs naar het
programma, onze hoofdroutine op regel 10.
En we doen niet alles in ons programma.
Nu weer, voor een programma om te zijn interessant om iets substantieels te
doen, je zult willen om variabelen te maken en te gebruiken.
En er is van alles van verschillende manieren.
Op dit moment weten we niet echt alles de gegevenstypen, dus we
kunnen niet echt veel verschillende soorten gegevens maken.
Dat hebben we echt net gehad voorbeeld, maar om het nog maar eens te herhalen hoef je alleen
maar te doen moet het gegevenstype opgeven.
We kennen int, dus je typt int en eigenlijk met de intelligentie in deze
mooie geïntegreerde ontwikkeling omgeving toont het alle andere dingen die
u kunt definiëren met int.
Het voltooit eigenlijk I.
Als je een f zou typen, dan zou je zou misschien andere dingen voltooid zien, zoals
een stroom een andere is gegevenstype waar we het over zullen hebben.
Maar nogmaals, om een variabele te declareren, moet je zeg gewoon het gegevenstype, een geldige naam.
Onthoud geldige namen start met alfanumerieke tekens
of onderstrepingstekens, kan niet begin ze met cijfers.
Dus hier zou ik gewoon int Jason kunnen zeggen.
En dan heb ik een puntkomma om de aangifte te beëindigen.
En zo declareer je een variabele.
Als ik dat nu wil initialiseren variabele die u
moet doen, tijdens de aangifte die u gewoon gebruik de equals-operator en u
geeft het juiste type gegevens op.
Dus int is een decimaal, dus Ik moet een nummer zeggen.
Ik kan hier geen woord plaatsen omdat ik specificeerde geen woord, ik specificeerde een nummer
en dat zou een compiler opleveren.
Maar het enige wat je hoeft te doen is specificeren op basis
van het type gegevens en vervolgens een puntkomma.
Onthoud, puntkomma's en de verklaringen.
En dat is initialiseren en declareren een variabele op dezelfde regel.
U kunt ook waarden toewijzen aan: variabelen later in uw programma.
Dus ik kon het gewoon declareren en Ik zou het eigenlijk kunnen initialiseren.
Laten we zeggen dat het gelijk is aan 5 en dan I zou het in een andere regel kunnen overschrijven.
Ik zou kunnen zeggen dat Jason gelijk is aan 8.
Ik wil de variabele wijzigen omdat variabelen waarden kunnen veranderen.
Hier wijzen we gegevens toe met behulp van de operator is gelijk aan.
En je zult merken dat er geen gegevenstype op regel 14.
Alles wat we moeten doen om toegang te krijgen die
variabele is specificeer de naam om deze te wijzigen.
We praten meer over de gelijken werken als
we het over operators hebben.
Maar dit is de basis voor variabelen.
Ze vertegenwoordigen gegevens in uw programma, opgeslagen in het geheugen dat toegankelijk
is via variabelen met deze naamgeving conventies en geïnitialiseerd en gedeclareerd in
uw programma met gegevenstypen en toegewezen waarden.
Dank u.