Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Global variables

Posted on 1998-07-22
2
278 Views
Last Modified: 2010-04-15
I have the following declaration in the header file of my project. This header file is included in every source file of the project. At one point in my main routine, I set this pointer to an address. After that, I start a series of threads that use the pointer. The problem is, some of the routines I call don't show the value I set prior to calling them but instead show NULL (the pointer's compile time value). What's wrong?

...
static struct CONNLIST *pProcessList = NULL;
...
0
Comment
Question by:flfmdll
2 Comments
 
LVL 5

Accepted Solution

by:
yonat earned 20 total points
ID: 1251781
"static" means file scope. So there is a separate pProcessList for each file that #includes this header. Replace "static" with "extern" in the header:
    extern struct CONNLIST *pProcessList;
and define the variable in just *one* of your .c files:
    struct CONNLIST *pProcessList = NULL;

0
 

Author Comment

by:flfmdll
ID: 1251782
Thank you. That works just fine. My excuse: it's been a very long time since I have used global variables.
0

Featured Post

Connect further...control easier

With the ATEN CE624, you can now enjoy a high-quality visual experience powered by HDBaseT technology and the convenience of a single Cat6 cable to transmit uncompressed video with zero latency and multi-streaming for dual-view applications where remote access is required.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
libcurl - taking long time on curl_easy_perform 11 434
how to understand recursion 12 229
Grammars for C C++ and java 1 131
How to translate this 2-line while loop into C from Perl? 8 119
Windows programmers of the C/C++ variety, how many of you realise that since Window 9x Microsoft has been lying to you about what constitutes Unicode (http://en.wikipedia.org/wiki/Unicode)? They will have you believe that Unicode requires you to use…
Examines three attack vectors, specifically, the different types of malware used in malicious attacks, web application attacks, and finally, network based attacks.  Concludes by examining the means of securing and protecting critical systems and inf…
The goal of this video is to provide viewers with basic examples to understand opening and writing to files in the C programming language.
The goal of this video is to provide viewers with basic examples to understand recursion in the C programming language.

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question