Jump to content
dario1133

[Resolvido] Variáveis externas

Recommended Posts

dario1133

Tenho no ficheiro 1.c:

char MAC[6];

MAC[0] = u8EEEPROMread(address[0]);

Para conseguir usar esta variável no ficheiro 2.c fiz:

extern char MAC[6];

Só que depois quando tento usar a variável, não consigo. estou a definir alguma coisa mal?

Edited by thoga31
GeSHi

Share this post


Link to post
Share on other sites
HappyHippyHippo

// fich1.h

#ifndef FICH1_H
#define FICH1_H

extern char MAC[6];

#endif

// fich1.c

#include "fich1.h"

// ok em usar a variável MAC

// entanto tem de estar instanciada ...
char MAC[6];

// fich2.c

#include "fich1.h"

// ok em usar a variável MAC

Edited by HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Flinger

A variável é global? Ou seja, no ficheiro 1.c está declarada fora de funções, ou dentro de alguma função?

Share this post


Link to post
Share on other sites
dario1133

A variável é global? Ou seja, no ficheiro 1.c está declarada fora de funções, ou dentro de alguma função?

Está dentro de uma função.

Share this post


Link to post
Share on other sites
Flinger

Então é uma variável local, e como tal não pode ser acedida de outra função, seja num ficheiro diferente ou no próprio ficheiro.

A declaração "extern" apenas serve para variáveis globais.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.