Moderadores: andre_luis, 51, guest2003, Renie
void main()
{
int8 temp[8] = {0,1,2,3,4,5,6,7};
int8 temp2[8];
temp2 = temp; //aqui todos os valores de temp2 serão iguais a temp;
temp2[4] = 0; //agora ficou assim: {0,1,2,0,5,6,7} tanto em temp como temp2.
temp[7] = 9; //agora ficou assim: {0,1,2,0,5,6,9} tanto em temp como temp2.
}
joao escreveu:tudo depende de onde vc está pegando esses valores.
Por exemplo
- Código: Selecionar todos
void main()
{
int8 temp[8] = {0,1,2,3,4,5,6,7};
int8 temp2[8];
temp2 = temp; //aqui todos os valores de temp2 serão iguais a temp;
temp2[4] = 0; //agora ficou assim: {0,1,2,0,5,6,7} tanto em temp como temp2.
temp[7] = 9; //agora ficou assim: {0,1,2,0,5,6,9} tanto em temp como temp2.
}
[]'s
void envia_frase(unsigned char * frase, int quantidade)
{
for( ; quantidade !=0; quantidade--)
{
transmite_byte(*frase);
frase++;
}
}
void main(void)
{
unsigned char teste1[7] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G' };
envia_frase(teste1, 7);
envia_frase("Agora eh o fim do mundo!", 24);
}
char Dado1 = { 0, 1, 2, ..., 99 } ;
char * Dado2[100] ;
( *Dado2[0] ) = &Dado1 ;
Valor = ( *Dado2[0] + Offset ) ;
andre_teprom escreveu:Na verdade, existe sim uma maneira de transferir, sem ter qua passar cada elemento. Já fiz isso quando tive que trabalhar com uma grande massa de dados. Se nao me engano, é algo tipo :
- Código: Selecionar todos
char Dado1 = { 0, 1, 2, ..., 99 } ;
char * Dado2[100] ;
( *Dado2[0] ) = &Dado1 ;
Só que nesse caso, voce não poderá mais trabalhar acessando a variável como antes, mas apenas por ponteiro. Para acessar cada posição da variável, terá de fazer algo tipo :
- Código: Selecionar todos
Valor = ( *Dado2[0] + Offset ) ;
+++
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante