Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2005-07-14 12:16:32

  anonimek - Członek DUG

anonimek
Członek DUG
Skąd: Alwernia
Zarejestrowany: 2005-06-13

Problem ze wskaźnikami ....

#include <stdio.h>
main()

{
int i,*pi,*pj;

i=9;
   printf("nPo przypisaniu wartosci i = 9n");
   printf("&pi = %p, &pj = %p, &i = %pn",&pi,&pj,&i);
   printf("pi = %p, pj = %p, i = %dn",pi,pj,i);
   printf("*pi = %d, *pj = %dn",*pi,*pj);

}

Bardzo prosze o napisanie komentarzy do lini z "print'ami ",bo bedzie mi to baaardzo pomocne w zrozumieniu wskaźników.

To jest program w zwyklym C , nie w c++.

Offline

 

#2  2005-07-14 12:28:52

  Guest - Gość

Guest
Gość

Re: Problem ze wskaźnikami ....

A w czym to jest? Bo mi wyglada na C ale nie jestem pewien. Żeby przystosować to do C++ zmieniłem tylko nagłówek ale i tak błędy mi wyskoczyły. Na pewno masz to dobrze? Jak chcesz moge Ci wytłumaczyć z czym sie je wskaźniki, ale na jakimś mniej zagmatwanym i prostszym przykładzie :]

 

#3  2005-07-21 11:41:55

  rybek - Członek DUG

rybek
Członek DUG
Zarejestrowany: 2004-04-20

Re: Problem ze wskaźnikami ....

A w czym to jest? Bo mi wyglada na C ale nie jestem pewien. Żeby przystosować to do C++ zmieniłem tylko nagłówek ale i tak błędy mi wyskoczyły. Na pewno masz to dobrze?[/quote]

a mi sie ladnie skompilowalo i uruchomilo:

Kod:

Po przypisaniu wartosci i = 9
&pi = 0xbffff980, &pj = 0xbffff97c, &i = 0xbffff984
pi = 0xb8000540, pj = 0xb7fd1e80, i = 9
*pi = -1208053760, *pj = 1252744

Linux Registered User: #348830

In a World without Walls and Fences,
who needs Windows and Gates?

Offline

 

#4  2005-07-21 12:07:29

  rybek - Członek DUG

rybek
Członek DUG
Zarejestrowany: 2004-04-20

Re: Problem ze wskaźnikami ....

co do wskaznikow:

jesli:

Kod:

int *c;

jest jego definicja to:

Kod:

*c

- obiekt pokazywany przez wskaznik (wartosc)

Kod:

&c

- adres obiektu

jesli sie myle, to mnie poprawcie.


Linux Registered User: #348830

In a World without Walls and Fences,
who needs Windows and Gates?

Offline

 

#5  2005-07-21 16:00:44

  Guest - Gość

Guest
Gość

Re: Problem ze wskaźnikami ....

To jest program w zwyklym C , nie w c++.[/quote]

Zawsze mnie bawią takie stwierdzenia. A to C++ już jest niezwykłe? C++ jest uważany za język bardziej uniwersalny i łatwiejszy przy nawet lepszym działaniu.

Co do tego co rybek napisał:

Kod:

...
int b = 10;
int *c; //deklaracja wskaźnika

c = &b; // przypisanie adresu zmiennej b do wskaźnika

cout << (*c); // wyświetlenie że *c = 10
...

Może to to samo ale mi się wydaje że prościej napisałem (nie cierpiew tych terminów tylko zaciemniją to co najważniejsze, cztyli samo programowanie :P

 

#6  2005-07-25 22:33:19

  kali - Członek DUG

kali
Członek DUG
Skąd: Wrocław
Zarejestrowany: 2005-06-19
Serwis

Re: Problem ze wskaźnikami ....


Kod:

&c

- adres obiektu[/quote]
Ściślej - adres wskaźnika (który też jest obiektem, ale tak na wszelki wypadek..)

Pozdrawiam,


Intelligence is like a river: the deeper it is, the less noise it makes

Offline

 

#7  2005-07-26 16:58:10

  Guest - Gość

Guest
Gość

Re: Problem ze wskaźnikami ....


Kod:

&c

- adres obiektu[/quote]
Ściślej - adres wskaźnika (który też jest obiektem, ale tak na wszelki wypadek..)

Pozdrawiam,[/quote]

a żeby jeszcze uściślić: to daje ci adres zmniennej (obiektu wskaźnikowego) wskaźnikowej do zmniennej (obiektu) zalokowanego gdzieś w pamięci. Wsakźnik i zmnienna muszą być tego samego typu (no chyba że mówimy o wskaźnikach typu void, te mogą wskazywać na dowolną zmnienna (obiekt))

 

#8  2005-08-02 13:09:54

  kali - Członek DUG

kali
Członek DUG
Skąd: Wrocław
Zarejestrowany: 2005-06-19
Serwis

Re: Problem ze wskaźnikami ....

Powinny być tego samego typu, co nie znaczy, że nie da się trzymać adresu do inta we wskaźniku char*, ale to proszenie się o kłopoty ;)

Pozdrawiam,


Intelligence is like a river: the deeper it is, the less noise it makes

Offline

 

#9  2005-08-02 20:47:20

  Guest - Gość

Guest
Gość

Re: Problem ze wskaźnikami ....

chyba, że chce się zrobić coś ala pseudo rzutowanie :]

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.013 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00015 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00175 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.117.142.248' WHERE u.id=1
0.00094 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.117.142.248', 1714984096)
0.00058 SELECT * FROM punbb_online WHERE logged<1714983796
0.00064 SELECT topic_id FROM punbb_posts WHERE id=10390
0.00186 SELECT id FROM punbb_posts WHERE topic_id=1096 ORDER BY posted
0.00142 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=1096 AND t.moved_to IS NULL
0.00009 SELECT search_for, replace_with FROM punbb_censoring
0.00138 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=1096 ORDER BY p.id LIMIT 0,25
0.00116 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=1096
Total query time: 0.01002 s