From 3b0bd42a520f181dc4dff5753ab6ba7d9363413e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mert=20G=C3=B6r?= Date: Sun, 28 Jan 2024 08:21:38 +0300 Subject: [PATCH] scope example explained with a and b variables global and local --- c-basic/scope.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 c-basic/scope.c diff --git a/c-basic/scope.c b/c-basic/scope.c new file mode 100644 index 0000000..d337d30 --- /dev/null +++ b/c-basic/scope.c @@ -0,0 +1,53 @@ +/** + +scope.c - scope and variables explained + +Copyright (C) 2023-2024 Mert Gör and contributors + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +Feel free to send an email to mertgor@masscollabs.xyz for your questions + + **/ + +#include + +int main() { + int a; + { + int b; + b = 20; + a = 10; + printf("a : %d, b : %d\n", a, b); // correct way to get done the job/task + } + printf("a : %d\n", a); // correct way to get done the job/task for a variable + // printf("b : %d\n", b); // error ! + /** + ~/Projects/hwpplayer1/c-course/c-basic $ gcc scope.c +scope.c: In function ‘main’: +scope.c:35:22: error: ‘b’ undeclared (first use in this function) + 35 | printf("b : %d\n", b); // error ! + | ^ +scope.c:35:22: note: each undeclared identifier is reported only once for each function it appears in + **/ + + return 0; + +} + +/** + ~/Projects/hwpplayer1/c-course/c-basic $ ./a.out +a : 10, b : 20 +a : 10 + **/