Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  C, mäluaadressi nihkumine märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
DMouse
HV vaatleja
DMouse

liitunud: 10.09.2010




sõnum 10.09.2010 21:00:49 C, mäluaadressi nihkumine vasta tsitaadiga

Tere,

Teen hetkel ühte praktikumi ülesannet ja olen üritan googeldada aga ei leia vastust.
Ühesõnaga mul on pointer "aadress" ja ma tahan et selle pointeri mäluaadress liiguks ühe võrra edasi, kuidas seda kirjutada

Suured tänud aitajatele beer_yum.gif
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
troglodyte
Kreisi kasutaja
troglodyte

liitunud: 09.08.2002




sõnum 10.09.2010 21:12:28 vasta tsitaadiga

http://www.eskimo.com/~scs/cclass/notes/sx10b.html
_________________
ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
DMouse
HV vaatleja
DMouse

liitunud: 10.09.2010




sõnum 10.09.2010 22:05:22 vasta tsitaadiga

Tänan, kui keegi tunneb sama asja vastu huvi siis pisike koodijupp


c:
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.    
  4. int main(){
  5.  
  6.          int x[2] = {10, 25};
  7.          int *pointer;
  8.  
  9.          printf("Muutuja x[0] väärtus on %d ja tema mäluaadress on %p\n",x[0],&x[0]);
  10.          printf("Muutuja x[1] väärtus on %d ja tema mäluaadress on %p\n",x[1],&x[1]);
  11.  
  12.          pointer = &x[1];
  13.  
  14.          printf("Muutuja pointer väärtus on %d ja tema mäluaadress on %p\n",*pointer,&(*pointer));
  15.  
  16.          printf("Liigume ühe mälu aadressi võrra tagasi!\n");
  17.          pointer--;
  18.  
  19.          printf("Muutuja pointer väärtus on %d ja tema mäluaadress on %p\n",*pointer,&(*pointer));
  20.  
  21.          return EXIT_SUCCESS;
  22. }
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 19.09.2010 20:36:27 vasta tsitaadiga

Vanasti töötas lihtsalt pointer++. See küll eeldab, et sa ei kasuta void pointereid, nonde puhul vist oli default nihe 4 baiti. Muude tüüpide puhul peaks nihe olema üks vastava viida tüüpi elemendi suurus
_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  C, mäluaadressi nihkumine
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.