🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #297888

Statyczne zmienne globalne: niefortunne określenie?

#297888
From: slawek
Date: Thu, 11 Aug 2011 18:55
32 lines
2256 bytes
Mamy taki sobie plik sample.c

static  int foo = 1;
extern int bar;

int main(void)
{
   buz(foo,bar);
   return 0;
}

Oczywiście zmienna foo jest statyczną zmienną globalną.

Ups... czy to dobra nazwa? Zmienna globalna to zmienna tak dostępna jak kula 
ziemska długa i szeroka.

A poczciwa foo jest dostępna jedynie w danej jednostce kompilacji, w 
praktyce to będzie plik sample.c . Czyli zdecydowanie mniej globalna niż np. 
bar, która naprawdę jest (przynajmniej potencjalnie) dostępna wszędzie w 
całym programie. (Statyczne funkcje i zmienne globalne z jednego pliku C 
'robią za' składowe prywatne klasy C++, jeżeli nie martwi nas 
dziedziczenie/polimorfizm jest całkiem dobrze.)

Czy jest jakaś bardziej poręczna nazwa niż, używana przez podręczniki, 
"zmienna globalna"? Czy nie lepiej mówić (inne podręczniki) o "zmiennej 
zewnętrznej"? Zwłaszcza, że zmienne globalne mogą (w jakimś kontekście i 
jakimś języku) rzeczywiście być globalne - tj. np. jedna zmienna trzymająca 
wartość globalnie dla całego I-netu, jakiś GMT czy NYSE.

Problem jest terminologiczny, ot tak na lato i dla pomarudzenia.

slawek 
Technical Details
Message-ID: <4e44258a$0$2497$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.uni-stuttgart.de!news.stw-bonn.de!newsreader4.netcologne.de!news.netcologne.de!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.uni-stuttgart.de!news.stw-bonn.de!newsreader4.netcologne.de!news.netcologne.de!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
From: "slawek" <human@site.pl>
Newsgroups: pl.comp.lang.c
Subject: Statyczne zmienne globalne: niefortunne
 określenie?
Date: Thu, 11 Aug 2011 20:55:04 +0200
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 15.4.3538.513
X-MimeOLE: Produced By Microsoft MimeOLE V15.4.3538.513
Lines: 33
Message-ID: <4e44258a$0$2497$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 62.69.202.124
X-Trace: 1313088906 unt-rea-a-02.news.neostrada.pl 2497 62.69.202.124:63299
X-Complaints-To: abuse@news.neostrada.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit