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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
#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
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 :]
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
co do wskaznikow:
jesli:
int *c;
jest jego definicja to:
*c
- obiekt pokazywany przez wskaznik (wartosc)
&c
- adres obiektu
jesli sie myle, to mnie poprawcie.
Offline
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
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
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))
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,
Offline
chyba, że chce się zrobić coś ala pseudo rzutowanie :]
Time (s) | Query |
---|---|
0.00011 | SET CHARSET latin2 |
0.00008 | SET NAMES latin2 |
0.00140 | 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.119.122.140' WHERE u.id=1 |
0.00068 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.119.122.140', 1733366110) |
0.00054 | SELECT * FROM punbb_online WHERE logged<1733365810 |
0.00035 | SELECT topic_id FROM punbb_posts WHERE id=9922 |
0.00007 | SELECT id FROM punbb_posts WHERE topic_id=1096 ORDER BY posted |
0.00046 | 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.00008 | SELECT search_for, replace_with FROM punbb_censoring |
0.00182 | 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.00081 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=1096 |
Total query time: 0.0064 s |