Don’t define variables in headers. Put declarations in header and definitions in one of the .c files.
In config.h
extern const char *names[];
In some .c file:
const char *names[] = { "brian", "stefan", "steve" };
If you put a definition of a global variable in a header file, then this definition will go to every .c file that includes this header, and you will get multiple definition error because a varible may be declared multiple times but can be defined only once.
Also, one more thing you can do if you have to define your variables inside of a header file you can use the static
keyword.
static const char *names[] = { "brian", "stefan", "steve" };
This way variable names
will be defined only once in your entire program and can be accessed multiple number of times.
Related Posts:
- Why am I getting “undefined reference to sqrt” error even though I inclu de math.h header?
- Why am I getting “undefined reference to sqrt” error even though I include math.h header?
- Why am I getting “undefined reference to sqrt” error even though I include math.h header?
- C: linker command failed with exit code 1
- Implementing Taylor Series for sine and cosine in C
- warning: implicit declaration of function
- pthread_join() and pthread_exit()
- Why should we typedef a struct so often in C?
- What is the difference between ++i and i++?
- Undefined reference to pthread_create in Linux
- Stack smashing detected
- Why am I getting “void value not ignored as it ought to be”?
- Pointer Arithmetic
- dereferencing pointer to incomplete type
- Openssl : error “self signed certificate in certificate chain”
- Get a substring of a char* [duplicate]
- How do I create an array of strings in C?
- How do function pointers in C work?
- Expression must be a modifiable L-value
- “Expected expression before ‘ { ‘ token”
- Bad File Descriptor with Linux Socket write() Bad File Descriptor C
- How to generate a random int in C?
- How do I use valgrind to find memory leaks?
- C pointers and arrays: [Warning] assignment makes pointer from integer without a cast
- How to print the array?
- How to solve the error: assignment to expression with array type
- segmentation fault : 11
- What does “1e” mean?
- how to use uint64_t in C [duplicate]
- munmap_chunk(): invalid pointer
- How do I solve the following errors: “Undefined reference to WinMain”, “[Error] Id returned 1 exit status”?
- Warning comparison between pointer and integer
- What is the LD_PRELOAD trick?
- What is the argument for printf that formats a long?
- How do I properly compare strings in C?
- Connect: Socket operation on non-socket
- Using %s in C correctly – very basic level
- How to correctly use the extern keyword in C
- How do you make an array of structs in C?
- How do we check if a pointer is NULL pointer?
- how to use wait in C
- How do I calculate MB/s & MiB/s?
- How to create my own header file in c++?
- In C programming, what is `undefined reference`error, when compiling?
- warning: implicit declaration of function
- double free or corruption (fasttop)
- Returning string from C function
- error: expected declaration or statement at end of input in c
- Why do I get clang: error: linker command failed with exit code 1?
- Char Comparison in C
- How to convert integer to char in C?
- Program received signal SIGPIPE, Broken pipe
- How to read from stdin with fgets()?
- Why am I getting “array initializer must be an initializer list or string literal”?
- what is the unsigned datatype?
- #31 expression must have integral type
- How do you pass a function as a parameter in C?
- Reading a string with scanf
- getopt_long() — proper way to use it?
- C read file line by line
- C read file line by line
- Copying a part of a string (substring) in C
- Incompatible implicit declaration of built-in function ‘malloc’
- Need more information about Aborted (core dumped)
- Does C have a “foreach” loop construct?
- What is a bus error? Is it different from a segmentation fault?
- Reversing a string in C
- When a number is written as 0x00… what does the x mean
- How to remove the character at a given index from a string in C?
- C compile : collect2: error: ld returned 1 exit status
- waitpid, wnohang, wuntraced. How do I use these
- Split string with delimiters in C
- How to pause in C?
- (.text+0x20): undefined reference to `main’ and undefined reference to function
- Why am I getting this error: “data definition has no type or storage class”?
- I’m getting “Invalid Initializer”, what am I doing wrong?
- Writing binary number system in C code
- Error: initializer element is not computable at load time
- Convert char array to string use C
- warning: passing argument ’from incompatible pointer type [enabled by default]’
- Return a `struct` from a function in C
- Uninitialized value was created by a heap allocation
- Scanning Multiple inputs from one line using scanf
- Which of sprintf/snprintf is more secure?
- Allocating char array using malloc
- Implementation of strtok() function
- switch case: error: case label does not reduce to an integer constant
- warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]
- A Simple, 2d cross-platform graphics library for c or c++?
- warning: return makes pointer from integer without a cast but returns integer as desired
- The difference between char * and char[] [duplicate]
- How to clear input buffer in C?
- What primitive data type is time_t? [duplicate]
- Linker error: “linker input file unused because linking not done”, undefined reference to a function in that file
- Usage of \b and \r in C
- Difference between “while” loop and “do while” loop
- Swapping 2 Bytes of Integer
- Parsing command-line arguments in C
- Compiler warning – suggest parentheses around assignment used as truth value
- lvalue required as increment operand