In elk programma mag elke 'naam' maar 1x gedefinieerd zijn. Dus er mag maar 1 implementatie van de routine 'writeString' bestaan. En op ieder moment mag er maar 1x de naam 'str' bestaan. Je kan de variabele naam 'str' wel vaker gebruiken en overschrijven, maar op het moment dat je de routine 'writeString' aanroept zal deze de 'str' gebruiken die op dat moment bekend is. De routine 'writeString' kan niet overschreven worden, deze mag maar 1x gedefinieerd worden.
Wat bedoel je precies met 'koppelen aan'? Dit is niet een heel erg bekende programmeer term

. Je kan de routine 'writeString' toepassen op de variabele 'str'. Dat doe je door
writeString(str)
aan te roepen, dit is een z.g.n. function call. Als je
writeString("hello World")
aanroept dan doe je een function call met als argument een 'string literal'. Hier is "hello World" de string literal, dit is gewoon een string die bij het compileren gewoon letterlijk zo wordt gebruikt als hij er staat (hence the name...). Dit in tegenstelling tot een variabele.
Maar het maakt voor writeString niet uit wat je doet, of je nu de variabele 'str' mee geeft of een string literal, voor die functie ziet dat er hetzelfde uit.
In elk programma mag elke 'naam' maar 1x gedefinieerd zijn. Dus er mag maar 1 implementatie van de routine 'writeString' bestaan. En op ieder moment mag er maar 1x de naam 'str' bestaan. Je kan de variabele naam 'str' wel vaker gebruiken en overschrijven, maar op het moment dat je de routine 'writeString' aanroept zal deze de 'str' gebruiken die op dat moment bekend is. De routine 'writeString' kan niet overschreven worden, deze mag maar 1x gedefinieerd worden.
Wat bedoel je precies met 'koppelen aan'? Dit is niet een heel erg bekende programmeer term ;). Je kan de routine 'writeString' toepassen op de variabele 'str'. Dat doe je door
writeString(str)
aan te roepen, dit is een z.g.n. function call. Als je
writeString("hello World")
aanroept dan doe je een function call met als argument een 'string literal'. Hier is "hello World" de string literal, dit is gewoon een string die bij het compileren gewoon letterlijk zo wordt gebruikt als hij er staat (hence the name...). Dit in tegenstelling tot een variabele.
Maar het maakt voor writeString niet uit wat je doet, of je nu de variabele 'str' mee geeft of een string literal, voor die functie ziet dat er hetzelfde uit.