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.