>> LUIDSPREKER 1: Oke.
Dat laatste programma was een beetje saai.
Laten we verder gaan en personaliseren dit een beetje.
In plaats van te zeggen hallo wereld, waarom gaan we niet vooruit
en zeg hallo David?
Nou, om dit te doen, kon ik benaderen dit in een paar manieren.
Ik kon natuurlijk gewoon moeilijk code David, maar dat is niet zo
fundamenteel verschillend uit de laatste versie.
Dus laten we eens een sprong voorwaarts, ongedaan te maken dat veranderen, en in plaats daarvan plaats een nieuwe
regel code waar lijn vijf ooit was.
>> Specifiek, wat ik ga doen hier is toe te voegen in string naam, waardoor
declareren van een variabele.
Merk op dat in C, niet alleen heb je een variabele een naam, die
dit geval is de naam, heb je ook om aan te geven wat voor soort het is.
We zien andere soorten duurde niet lang, onder ze integers en floating point
waarden en meer, maar voor nu, strijkkwartet is gewoon een woord of een zin, meer
formeel een reeks zero of meer tekens.
Dus op dit moment, deze lijn vijf is zeggende: Geef mij een variabele genaamd naam
waarvan het gegevenstype string.
>> Nu wil ik een waarde op te slaan daar, en dat doen C, gebruiken we gelijke
teken, ook wel bekend als de toewijzingsoperator.
Dus ik ga als volgt te werk.
Evenaart citaat, unquote, D-A-V-I-D, gesloten citaat, puntkomma.
Het netto-effect in de lijn vijf is nu om verklaren een snaar, D-A-V-I-D, opslaan
het van de rechterkant van deze expressie in de variabele op de
linkerkant van deze uitdrukking.
Dus tegen het einde van deze lijn hebben we D-A-V-I-D opgeslagen in een variabele
genaamd naam.
>> Laten we nu gebruiken deze variabele.
Op lijn zes, ga ik vervangen wereld met een placeholder.
% S wordt gedefinieerd volgens de documentatie voor printf als een
placeholder voor een string.
Met andere woorden, het is een manier van informeren printf die ik ga zetten
een andere waarde hier, maar laat me vertellen u in slechts een moment wat
het gaat worden.
Nu, hoe ga ik te werk om printf vertellen wat die waarde gaat worden?
>> Nou, ik moet printf te voorzien van een tweede argument, en om dat te doen, ik
moet een komma achter het eerste zetten argument, dat deze geciteerd
snaar, en dan moet ik wat specificeren waarde wil ik aansluiten op dat
placeholder eerste argument is.
Dus de naam van mijn variabele is, van Natuurlijk, naam, dus volstaat typen
"Naam" als de tweede argument printf.
Nu laat je niet misleiden.
Ook al is er een komma binnenkant van de opgegeven tekenreeks, dat inderdaad
binnenzijde van de snaar zodat deze niet scheiden een argument van een ander.
Alleen deze komma dat is buiten die tekenreeks tussen aanhalingstekens eigenlijk scheidt
printf eerste argument van het tweede argument.
>> Laten we nu dit programma samen te stellen.
Maak hello een.
Oh mijn god, vijf fouten gegenereerd, en mijn programma's
slechts zeven regels lang.
Nou ja, zoals altijd, niet kijken naar de laatste van de fouten op uw scherm.
Kijk naar de allereerste want misschien is er een cascade-effect waarbij
slechts een fout up top creëerde de verschijning van meer fouten dan er
eigenlijk zijn.
>> Dus laat me omhoog, en het eerste vetgedrukte fout hier is het gebruik van
zwartwerk identifier string.
Bedoelde u standaard in?
Nou nee, dat heb ik niet.
Ik bedoel touwtje, maar het blijkt dat ik vergat die string niet bestaat als een
gegevens typt technisch in C. Conceptueel het bestaat, maar het woord
"String" bestaat alleen omdat de CS50 medewerkers hebben het verklaard, zo te zeggen,
in een bestand dat we zelf schreven.
In feite, net als iemand lang geleden verklaarde de printf functie in een bestand
genaamd Standard io.H, dus hebben we de personeel verklaren snaar als een type gegevens in
een bestand dat geen verrassing, heet CS50.H.
>> Dus laten we terug gaan naar de top van mijn programmeren en informeren de compiler dat
niet alleen ik het symbool wilt gebruiken koord, wil ik ook het opleiden van de
compiler op wat dat symbool betekent.
En om dat te doen heel eenvoudig, kan ik gaan terug tot een lijn, een nieuwe regel
hier, en voeg, "omvatten CS50.H," ook tussen haakjes.
Deze instructie, net als dat nu op lijn twee, gaat de hoogte van de
compiler dat moet de inhoud van CS50.H waar ze ook zijn
in mijn harde schijf in mijn programma, waardoor de compiler opleiden om
wat wordt bedoeld met string.
>> Laten we opnieuw compileren mijn programma na het opslaan van de wijzigingen.
Maak hello een.
Enter.
Veel beter.
Nu heb ik een knipperende regel waar ik kunt typen, ". / hello een", en voila.
Hallo David.