Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #27012

Re: Who owns the variable in my header file ?

Date 2012-10-04 11:23 +0100
From lipska the kat <lipskathekat@yahoo.co.uk>
Newsgroups comp.lang.c
Subject Re: Who owns the variable in my header file ?
References <EK-dnVoFlczbHfHNnZ2dnUVZ8hidnZ2d@bt.com>
Message-ID <gdidnTxsaooh_vDNnZ2dnUVZ8tSdnZ2d@bt.com> (permalink)

Show all headers | View raw


On 03/10/12 19:13, lipska the kat wrote:

First of all let me say once again how much I appreciate all your 
responses. A seed of doubt has been planted in my mind WRT the 
'correctness' of any C code that I have written/will write at any time 
in the future. I think this must be a 'good thing' although the 
implication is that before I can be as certain as it's possible to be 
that any program is 'correct' I need to have read, understood and 
inwardly digested the entire language specification. A rather daunting 
prospect but I will certainly make a start ... when I can figure out 
what standard I should be reading (C89, C90, C99 or C11)

According to man gcc on my Ubuntu Linux 12.04 64 bit machine
89,90 are fully supported whereas support for 99 onwards is 'limited'
Compiling with the -ansi switch compiles to the 89/90 spec which 
reinforces my opinion that 90 is the one for me.

There are also a whole bunch of gnu dialects
but my brain imploded at this point so I went to the pub :-)

Anyway, I think I've figured out the extern thing in terms of my very 
simple example. I do have one small observation which I will make after 
the re-factored code, you have been very generous with your time so far 
so apologies for posting this listing again.

============= Code ===============

/* foo.h */
/* explicit _declaration_ of foo */
extern int foo;

void fooset(int f);
int fooget(void);
void fooinc(void);

/* extmain.c */
#include <stdio.h>
#include "foo.h"

/* global variable */
/* implicit definition of foo */
/* set get and inc can't see foo if this is not here */
int foo;

int main(int argc, char **argv){

   /* explicit definition of foo */
   foo = 0;

   fooset(10);
   printf("foo is %d\n", fooget());

   fooinc();
   printf("foo is now %d\n", fooget());

   return 0;
}

/* fooset.c */
#include "foo.h"

void fooset(int f){
   foo = f;
}

/* fooget.c */
#include "foo.h"

int fooget(void){
   return foo;
}

/* fooinc.c */
#include "foo.h"

void fooinc(void){
   ++foo;
}

Observation:

The word 'extern' doesn't seem to be required

/* foo.h */
extern int foo;

OR

/* foo.h */
int foo;

Both work

At this point it seems to me that the only reason to use
the word extern is as an aid to program documentation.

I'll continue reading.

lipska

-- 
Lipska the Kat©: Troll hunter, sandbox destroyer
and farscape dreamer of Aeryn Sun

Back to comp.lang.c | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-03 19:13 +0100
  Re: Who owns the variable in my header file ? Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-10-03 15:05 -0400
    Re: Who owns the variable in my header file ? pacman@kosh.dhis.org (Alan Curry) - 2012-10-03 19:17 +0000
      Re: Who owns the variable in my header file ? Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-10-03 15:55 -0400
    Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-03 20:59 +0100
      Re: Who owns the variable in my header file ? Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-10-03 16:32 -0400
        Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 08:50 +0100
          Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-04 01:30 -0700
            Re: Who owns the variable in my header file ? Angel <angel+news@spamcop.net> - 2012-10-04 10:17 +0000
            Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 12:02 +0100
              Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-04 16:20 -0700
                Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-05 08:44 +0100
                Re: Who owns the variable in my header file ? Chicken McNuggets <chicken@mcnuggets.com> - 2012-10-07 16:48 +0100
          Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-04 07:13 -0400
      Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-04 00:34 -0400
        Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 09:02 +0100
          Re: Who owns the variable in my header file ? David Brown <david@westcontrol.removethisbit.com> - 2012-10-04 10:14 +0200
          Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-04 08:30 -0400
            Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 14:18 +0100
            Re: Who owns the variable in my header file ? Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-10-06 02:30 -0700
              Re: Who owns the variable in my header file ? Les Cargill <lcargill99@comcast.com> - 2012-10-06 08:01 -0500
              Re: Who owns the variable in my header file ? Richard Damon <news.x.richarddamon@xoxy.net> - 2012-10-06 21:30 -0400
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-07 11:40 +0100
                Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-07 10:56 -0400
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-07 21:26 +0100
                Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-07 19:58 -0400
                Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-07 11:47 -0700
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-07 21:53 +0100
                Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-07 20:04 -0400
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-08 02:14 +0100
                Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-07 21:47 -0400
                Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-08 00:33 -0700
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-08 11:13 +0100
                Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-08 07:40 -0400
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-08 13:13 +0100
                Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-08 10:08 -0400
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-08 16:20 +0100
                Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-08 12:45 -0400
                Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-08 12:29 -0700
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-08 22:28 +0100
                Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-08 15:47 -0700
                Re: Who owns the variable in my header file ? Richard Damon <news.x.richarddamon@xoxy.net> - 2012-10-07 21:16 -0400
          Re: Who owns the variable in my header file ? Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2012-10-04 08:35 -0600
          Re: Who owns the variable in my header file ? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-10-04 22:31 +0100
            Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-05 08:58 +0100
        Re: Who owns the variable in my header file ? gordonb.mhaw9@burditt.org (Gordon Burditt) - 2012-10-06 20:19 -0500
          Re: Who owns the variable in my header file ? Ian Collins <ian-news@hotmail.com> - 2012-10-07 15:19 +1300
          Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-07 18:22 +0100
            Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-07 14:38 -0400
      Re: Who owns the variable in my header file ? Kaz Kylheku <kaz@kylheku.com> - 2012-10-04 05:14 +0000
  Re: Who owns the variable in my header file ? Kaz Kylheku <kaz@kylheku.com> - 2012-10-03 19:40 +0000
  Re: Who owns the variable in my header file ? Ike Naar <ike@sverige.freeshell.org> - 2012-10-03 19:52 +0000
  Re: Who owns the variable in my header file ? falk@rahul.net (Edward A. Falk) - 2012-10-03 22:36 +0000
    Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-03 16:21 -0700
      Re: Who owns the variable in my header file ? falk@rahul.net (Edward A. Falk) - 2012-10-04 19:01 +0000
      Re: Who owns the variable in my header file ? David Thompson <dave.thompson2@verizon.net> - 2012-10-11 03:09 -0400
        Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-11 13:30 -0700
    Re: Who owns the variable in my header file ? Kaz Kylheku <kaz@kylheku.com> - 2012-10-04 01:43 +0000
    Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 09:24 +0100
  Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 11:23 +0100
    Re: Who owns the variable in my header file ? David Brown <david@westcontrol.removethisbit.com> - 2012-10-04 13:26 +0200
      Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 15:52 +0100
        Re: Who owns the variable in my header file ? Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-10-04 11:40 -0400
          Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 17:00 +0100
        Re: Who owns the variable in my header file ? hormelfree@gmail.com - 2012-10-04 17:15 -0700
          Re: Who owns the variable in my header file ? Ike Naar <ike@iceland.freeshell.org> - 2012-10-05 06:51 +0000
            Re: Who owns the variable in my header file ? David Brown <david@westcontrol.removethisbit.com> - 2012-10-05 09:35 +0200
          Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-05 09:11 +0100
            Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-05 08:04 -0400
    Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-04 08:43 -0400
    Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-04 16:08 -0700
      Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-05 09:27 +0100
        Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-05 02:16 -0700
        Re: Who owns the variable in my header file ? Angel <angel+news@spamcop.net> - 2012-10-05 11:38 +0000
          Re: Who owns the variable in my header file ? Nobody <nobody@nowhere.com> - 2012-10-05 16:13 +0100
            Re: Who owns the variable in my header file ? Angel <angel+news@spamcop.net> - 2012-10-05 16:26 +0000
  Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-08 19:02 +0100
    Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-08 14:29 -0400
      Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-08 20:15 +0100
      Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-08 14:04 -0700
    Re: Who owns the variable in my header file ? Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2012-10-08 22:47 -0600
      Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-09 09:04 +0100
        Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-09 10:30 +0100
          Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-09 11:48 +0100

csiph-web