[c] referencja tablic

kawafis44
Użytkownik
Użytkownik
Posty: 474
Rejestracja: 22 paź 2007, o 20:55
Płeć: Mężczyzna
Lokalizacja: Gliwice
Podziękował: 416 razy
Pomógł: 2 razy

[c] referencja tablic

Post autor: kawafis44 »

Kod: Zaznacz cały

#include <stdio.h>
#include <conio.h>

void Determine_the_proper_sequence(int * (my_rows[255])) //*(my_rows[]) OR *(my_rows[255]) OR *my_rows[] OR *my_rows[255] ????
{
   *my_rows[0]=1;
   *my_rows[1]=2;
}

int main(int argc, char *argv[])
{
   int rows[255];

   printf("\n rows[0]=%d rows[1]=%d rows[2]=%d rows[3]=%d rows[4]=%d ",rows[0],rows[1],rows[2],rows[3],rows[4]);
   rows[0]=4; rows[1]=5; rows[2]=3; rows[3]=7; rows[4]=2;
   printf("\n rows[0]=%d rows[1]=%d rows[2]=%d rows[3]=%d rows[4]=%d ",rows[0],rows[1],rows[2],rows[3],rows[4]);
   Determine_the_proper_sequence(&rows); //OR MAYBE &(rows) ?? //TUTAJ WYSTAPIL PROBLEM KOMPILACJI !!!!!!!!!!!!!!!!!!!!!!!!!
   printf("\n rows[0]=%d rows[1]=%d rows[2]=%d rows[3]=%d rows[4]=%d ",rows[0],rows[1],rows[2],rows[3],rows[4]);

   getch();
}
26 untitled1.cpp
passing `int (*)[255]' as argument 1 of `Determine_the_proper_sequence(int **)'

pozdrawiam!
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

[c] referencja tablic

Post autor: soku11 »

Sprobuj zamienic:

Kod: Zaznacz cały

void Determine_the_proper_sequence(int * (my_rows[255]))
na:

Kod: Zaznacz cały

void Determine_the_proper_sequence(int * (my_rows)[255])
To powinno pomoc. POZDRO
smiechowiec
Użytkownik
Użytkownik
Posty: 374
Rejestracja: 21 cze 2007, o 11:28
Płeć: Mężczyzna
Lokalizacja: Łostowice
Pomógł: 146 razy

[c] referencja tablic

Post autor: smiechowiec »

Najprościej korzystając z faktu że nazwa tablicy wskazuje jej pierwszy element

Kod: Zaznacz cały

#include <stdio.h>
#include <conio.h>

void Determine_the_proper_sequence(int my_rows[255]){
   my_rows[0]=1;
   my_rows[1]=2;
}

int main(int argc, char *argv[]) {
   int rows[255];

   printf("
 rows[0]=%d rows[1]=%d rows[2]=%d rows[3]=%d rows[4]=%d ",rows[0],rows[1],rows[2],rows[3],rows[4]);
   rows[0]=4; rows[1]=5; rows[2]=3; rows[3]=7; rows[4]=2;
   printf("
 rows[0]=%d rows[1]=%d rows[2]=%d rows[3]=%d rows[4]=%d ",rows[0],rows[1],rows[2],rows[3],rows[4]);
   Determine_the_proper_sequence(rows); //OR MAYBE &(rows) ?? //TUTAJ WYSTAPIL PROBLEM KOMPILACJI !!!!!!!!!!!!!!!!!!!!!!!!!
   printf("
 rows[0]=%d rows[1]=%d rows[2]=%d rows[3]=%d rows[4]=%d ",rows[0],rows[1],rows[2],rows[3],rows[4]);

   getch();
}
Awatar użytkownika
kadiii
Użytkownik
Użytkownik
Posty: 642
Rejestracja: 20 gru 2005, o 21:04
Płeć: Mężczyzna
Lokalizacja: Wrocław
Pomógł: 130 razy

[c] referencja tablic

Post autor: kadiii »

kawafis44 poszukaj sobie tematu o przekazywaniu tablicy do funkcji(był tu niedawno) i zauważ różnicę między wskażnikiem na tablicę, samym wskaźnikiem a wskaźnikiem w formie tablicy(te ostatnie dla jednowymiarowych tablic się niczym nie różnią). Naprawdę polecam poczytać, doszukac jeszcze w necie w razie niejasności i już nie będziesz miał problemów z przesyłaniem do funkcji tablic.
ODPOWIEDZ