[so] [SO] Workshop 4 - Review

Emma Mirica emma.mirica at gmail.com
Sat Mar 23 00:31:31 EET 2013


2013/3/23 Andrei Vasiliu <andrei.vasiliu2211 at cti.pub.ro>

> Buna,
>
> Am avut aceasta intrebare la workshop si acum o am si de corectat:
> Fie p un pointer către un întreg pe un sistem pe 32 de biţi. Ştiind că
> valoarea
> lui p este 0xC0000004, ce valoare are p + 1?
>
> Mi se pare ca intrebarea nu e formulata foarte clar, in sensul ca daca
> pointerul
> p spre integer este de tip int*, atunci p+1 este 0xC0000008, dar daca p
> este de
> tip char*, atunci p+1 este 0xC0000005.
>
> Am realizat si un program pentru a arata acest aspect:
>
> #include <stdio.h>
>
> int main(void){
>     int a = 5;
>     char *char_pointer_to_integer = (char*)&a;
>     int *int_pointer_to_integer = &a;
>     printf("char_pointer_to_integer = %p, char_pointer_to_integer+1 =
> %p\n",
> char_pointer_to_integer, char_pointer_to_integer+1);
>     printf("int_pointer_to_integer = %p, int_pointer_to_integer+1 = %p\n",
> int_pointer_to_integer, int_pointer_to_integer+1);
>     return 0;
> }
>
> care are output-ul:
> char_pointer_to_integer = 0xbfa021a4, char_pointer_to_integer+1 =
> 0xbfa021a5
> int_pointer_to_integer = 0xbfa021a4, int_pointer_to_integer+1 = 0xbfa021a8
> QED ;))
>
> Deci, cum ar trebui abordata aceasta intrebare?
>
> Multumesc anticipat,
> Andrei
>

Buna Andrei,

Intrebarea este foarte clara: "Fie p un pointer către un întreg pe un
sistem pe 32 de biţi.".

In ceea ce priveste problemele legate de workshop-ul 4, ma gandeam la
probleme administrative. Nu este in regula sa explici solutia pentru o
problema pe care foarte probabil si alti colegi ai tai o au de corectat. Pe
viitor sa fii mai atent.

Thanks,
Emma
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20130323/6d0aaad5/attachment-0001.html>


More information about the so mailing list