Pointer Problem

Gast #4763125
Lesenswert?
• ▲
▼
Hi, wie können die Daten in der Funktion nach ausgegeben werden, so dass 
die Daten im data Puffer vorhanden sind?
1
void Receive(unsigned int PageAddress, unsigned char  *pData)
2
{
3
  unsigned char Buffer[256];
4
  for(int i = 0; i < 256; i++)
5
  {
6
     Buffer[i] = 0x56;
7
  }
8

9
  pData = Buffer;
10
}

Aufruf der Funktion Receive:
1
unsigned char data[256];
2

3
Receive(0, data);
Gast #4763135
Lesenswert?
• ▲
▼
Du weist pData die Adresse eines Puffers zu, der nur innerhalb der 
Funktion existiert.
Das ist nicht gut.

Besser so:
1
void Receive(unsigned int PageAddress, unsigned char  *pData)
2
{
3
  
4
  for(int i = 0; i < 256; i++)
5
  {
6
     pData[i] = 0x56;
7
  }
8
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren