Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Proste pytanie o wskaźnik

Ostatnio zmodyfikowano 2013-05-05 22:09
Autor Wiadomość
Pawel9218
Temat założony przez niniejszego użytkownika
Proste pytanie o wskaźnik
» 2013-05-05 20:50:27
const double * const * A ? Jak poprawnie nazwać ten wskaźnik ? Wiem że czyta się od prawej strony czyli: "A jest wskaźnikiem" i dalej nie wiem ,bo kupy się całość nie trzyma wgl.Wiem ,że dzięki temu przekazuje tablice dwuwymiarową ,którą nie chce zmieniać.
P-82133
kubawal
» 2013-05-05 20:55:55
const double * const * A
To drugie const zostanie zignorowane i będzie
const double **
, czyli stały wskaźnik do wskaźnika do double
P-82135
Monika90
» 2013-05-05 21:05:55
To drugie const zostanie zignorowane i będzie
Ależ skąd.
C/C++
const double * const * A;
to jest wskaźnik do stałego wskaźnika do stałago double.
Można go użyć do przekazania/przechowywania wskaźnika do pierwszego (lub innego) elementu tablicy wskaźników do double.
C/C++
double * array[ 100 ];
A = & array[ 0 ];
A = array; //to samo
Przy czym, za pomocą tego wskaźnika (A) nie można modyfikować, ani samej tablicy array, ani tego do czego odnoszą się zawarte w niej wskaźniki.
P-82136
Pawel9218
Temat założony przez niniejszego użytkownika
» 2013-05-05 21:23:20
ok ,czemu zignorowane ? To coś to jest po prostu tablica wskaźników ,której nie można zmieniać ani ruszać ? Już wszystko mi się myli

Edit.
Nie widziałem drugiej odpowiedzi ,ok trochę mi się rozjaśniło.
C/C++
bool suma( const double * const * A, const unsigned m, const unsigned n, const double * const * B, const unsigned p, const unsigned q, double **& C )
{
    utworz( C, m, n );
    if( m == p && n == q ) {
        for( unsigned int i = 0; i < m; i++ )
        {
            for( unsigned int j = 0; j < n; j++ )
            {
                C[ i ][ j ] = A[ i ][ j ] + B[ i ][ j ];
            }
        }
        return true;
    }
    else
    {
        cerr << "...";
        return false;
    }
}

W tej funkcji jednak poruszam się normalnie po tablicy dwuwymiarowej A dzięki temu ,a niby powinno być to zabronione przez użycie tych const?
P-82137
usmiech
» 2013-05-05 21:37:49
Programowanie to logika, ale tez i abstrakcja... Moja rada - zanim zaczniesz 'walczyc' ze wskaznikami od wskaznikow, zacznij od prostych wskaznikow. Ten sam cel mozna osiagnac na rozne sposoby :)
P-82139
Monika90
» 2013-05-05 21:58:15
W tej funkcji jednak poruszam się normalnie po tablicy dwuwymiarowej A dzięki temu ,a niby powinno być to zabronione przez użycie tych const?
Ale nie modyfikujesz A i B, tylko odczytujesz, zmieniasz zawartość C, ale ona nie ma żadnych const.
P-82141
usmiech
» 2013-05-05 22:00:03
<< removed >>
P-82142
Pawel9218
Temat założony przez niniejszego użytkownika
» 2013-05-05 22:09:11
Ok ,rozumiem ocb ,dzięki jeszcze raz.
P-82145
« 1 »
  Strona 1 z 1