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

tablica wskaznikow

Ostatnio zmodyfikowano 2016-03-21 22:10
Autor Wiadomość
zolty13
Temat założony przez niniejszego użytkownika
tablica wskaznikow
» 2016-03-21 21:20:57
Mam takie pytanko czemu to nie kompiluje gdzie jest blad w toku mojego rozumowania
C/C++
#include <stdio.h>
#include <iostream>
using namespace std;
int main( int argc, char * argv[] )
{
    char * x[ 2 ];
    cin >> * x[ 0 ]; //x[0]to wskaznik wiec *x[0] t wartosc
    cin >> * x[ 1 ];
   
}
* tak wiem temat nieadwno był ale niechacy chyba go zaknalem i wyladowal w koszu ;)
P-146388
Monika90
» 2016-03-21 21:43:45
Elementy twojej tablicy nie zostały zainicjalizowane. To są to wskaźniki które wskazują w jakieś przypadkowe miejsca w pamięci. Więc jeżeli próbujesz wczytać coś do tych przypadkowych miejsc to pogram się wywala.
P-146394
zolty13
Temat założony przez niniejszego użytkownika
» 2016-03-21 22:05:51
Mam teraz taki kod. Oczywiście mogę wprowadzić literki po 1 do każdego pola czyli lacznie 2 :)
C/C++
char * x[ 2 ];
for( int i = 0; i < 2; i++ )
{
    x[ i ] = new char;
    cout << 1;
}
cin >> * x[ 0 ]; //x[0]to wskaznik wiec *x[0] t wartosc
cin >> * x[ 1 ];
Czemu jednak tutaj nie mogę wprowadzić całego wyrazu
C/C++
char * x[ 2 ];
for( int i = 0; i < 2; i++ )
{
    x[ i ] = new char[ 20 ];
    cout << 1;
}
cin >> * x[ 0 ]; //x[0]to wskaznik wiec *x[0] t wartosc
cin >> * x[ 1 ];
P-146398
michal11
» 2016-03-21 22:08:10
Ponieważ ciągle chcesz wczytywać po jednym znaku, usuń gwiazdkę i powinno działać.
P-146399
zolty13
Temat założony przez niniejszego użytkownika
» 2016-03-21 22:10:25
teraz chce wcztac cale wyrazy :/ //tak wiem te kody to jakas porazka ale po prostu eksperymentuje
EDIT jak usunalem * faktycznie działa (cin >>  x[ 0 ];)do postu wyzej
probowalem tak

C/C++
char( * x[ 2 ] )[ 20 ]; // czyli dwuelementowa tablica wskaznikow na 20 elementowe tablice typu char
for( int i = 0; i < 2; i++ )
{
    x[ i ] = new char *[ 20 ];
   
}
i tak:
C/C++
char *( * x[ 2 ] )[ 20 ]; // czyli dwuelementowa tablica wskaznikow na wskaznki do 20 elementowych tablic typu char ??
for( int i = 0; i < 2; i++ )
{
    x[ i ] = new char *[ 20 ];
   
}
C/C++
char *( * x[ 2 ] );
for( int i = 0; i < 2; i++ )
{
    x[ i ] = new char *;
    cout << 1;
}
P-146400
« 1 »
  Strona 1 z 1