konvertieren von int-array zu pointer in C

void test()
{
       int buf[1000];

       //populate buf
       foo(buf);//is this correct? Can we pass buf as a pointer that foo expects?



}
void foo(void*ptr)
{}

BEARBEITEN:
wenn foo wurden fwrite, wäre die oben(Mechanismus der Weitergabe buf so zu liefern fwrite mit Inhalt zu schreiben in eine Datei) noch anwendbar?

  • haben Sie einen C-compiler auf Ihrem system installiert?
  • ja, das Tue ich. Warum fragst du?
  • Nach dem Bearbeiten: in den meisten bewegen buf zerfällt zu einem Zeiger auf sein erstes element (buf zerfällt in einen Wert vom Typ int*). Und void* ist das Besondere, dass es zugeordnet werden kann, hin und her zwischen Zeigern auf Objekte. Sie können gerne Lesen Abschnitt 6 von der C-FAQ ... und die anderen Abschnitte auch 🙂
  • Ja, aber das ist, was ich möchte, richtig? Nur ein int* - Zeiger. tun, danke!
InformationsquelleAutor Namratha | 2011-03-15
Schreibe einen Kommentar