汇编二维数组为什么地址没有相同的数字

时间:2016-06-28 10:49:28

标签: c assembly i386

我在C中创建了一个简单的二维数组,并传递了一个指向汇编函数的指针。我想用汇编函数处理这个数组中的元素。我的问题是我不明白(也许这是我的错误)为什么同一行中元素的地址没有相同的数字。我想处理汇编中的所有元素,但由于地址相差4美元或6美元,我不知道该怎么做。

Adres 1156660110    Adres 1156660114    Adres 1156660120    Adres 1156660124    Adres 1156660130    Adres 1156660134    Adres 1156660140    Adres 1156660144    Adres 1156660150    Adres 1156660154    Adres 1156660160    Adres 1156660164    Adres 1156660170    Adres 1156660174    Adres 1156660200    

Adres 1156660210    Adres 1156660214    Adres 1156660220    Adres 1156660224    Adres 1156660230    Adres 1156660234    Adres 1156660240    Adres 1156660244    Adres 1156660250    Adres 1156660254    Adres 1156660260    Adres 1156660264    Adres 1156660270    Adres 1156660274    Adres 1156660300    

Adres 1156660310    Adres 1156660314    Adres 1156660320    Adres 1156660324    Adres 1156660330    Adres 1156660334    Adres 1156660340    Adres 1156660344    Adres 1156660350    Adres 1156660354    Adres 1156660360    Adres 1156660364    Adres 1156660370    Adres 1156660374    Adres 1156660400    

Adres 1156660410    Adres 1156660414    Adres 1156660420    Adres 1156660424    Adres 1156660430    Adres 1156660434    Adres 1156660440    Adres 1156660444    Adres 1156660450    Adres 1156660454    Adres 1156660460    Adres 1156660464    Adres 1156660470    Adres 1156660474    Adres 1156660500    

Adres 1156660510    Adres 1156660514    Adres 1156660520    Adres 1156660524    Adres 1156660530    Adres 1156660534    Adres 1156660540    Adres 1156660544    Adres 1156660550    Adres 1156660554    Adres 1156660560    Adres 1156660564    Adres 1156660570    Adres 1156660574    Adres 1156660600    

Adres 1156660610    Adres 1156660614    Adres 1156660620    Adres 1156660624    Adres 1156660630    Adres 1156660634    Adres 1156660640    Adres 1156660644    Adres 1156660650    Adres 1156660654    Adres 1156660660    Adres 1156660664    Adres 1156660670    Adres 1156660674    Adres 1156660700    

Adres 1156660710    Adres 1156660714    Adres 1156660720    Adres 1156660724    Adres 1156660730    Adres 1156660734    Adres 1156660740    Adres 1156660744    Adres 1156660750    Adres 1156660754    Adres 1156660760    Adres 1156660764    Adres 1156660770    Adres 1156660774    Adres 1156661000    

Adres 1156661010    Adres 1156661014    Adres 1156661020    Adres 1156661024    Adres 1156661030    Adres 1156661034    Adres 1156661040    Adres 1156661044    Adres 1156661050    Adres 1156661054    Adres 1156661060    Adres 1156661064    Adres 1156661070    Adres 1156661074    Adres 1156661100    

Adres 1156661110    Adres 1156661114    Adres 1156661120    Adres 1156661124    Adres 1156661130    Adres 1156661134    Adres 1156661140    Adres 1156661144    Adres 1156661150    Adres 1156661154    Adres 1156661160    Adres 1156661164    Adres 1156661170    Adres 1156661174    Adres 1156661200    

Adres 1156661210    Adres 1156661214    Adres 1156661220    Adres 1156661224    Adres 1156661230    Adres 1156661234    Adres 1156661240    Adres 1156661244    Adres 1156661250    Adres 1156661254    Adres 1156661260    Adres 1156661264    Adres 1156661270    Adres 1156661274    Adres 1156661300    

 Adres 1156661310   Adres 1156661314    Adres 1156661320    Adres 1156661324    Adres 1156661330    Adres 1156661334    Adres 1156661340    Adres 1156661344    Adres 1156661350    Adres 1156661354    Adres 1156661360    Adres 1156661364    Adres 1156661370    Adres 1156661374    Adres 1156661400    

 Adres 1156661410   Adres 1156661414    Adres 1156661420    Adres 1156661424    Adres 1156661430    Adres 1156661434    Adres 1156661440    Adres 1156661444    Adres 1156661450    Adres 1156661454    Adres 1156661460    Adres 1156661464    Adres 1156661470    Adres 1156661474    Adres 1156661500    

 Adres 1156661510   Adres 1156661514    Adres 1156661520    Adres 1156661524    Adres 1156661530    Adres 1156661534    Adres 1156661540    Adres 1156661544    Adres 1156661550    Adres 1156661554    Adres 1156661560    Adres 1156661564    Adres 1156661570    Adres 1156661574    Adres 1156661600    

 Adres 1156661610   Adres 1156661614    Adres 1156661620    Adres 1156661624    Adres 1156661630    Adres 1156661634    Adres 1156661640    Adres 1156661644    Adres 1156661650    Adres 1156661654    Adres 1156661660    Adres 1156661664    Adres 1156661670    Adres 1156661674    Adres 1156661700    

 Adres 1156661710   Adres 1156661714    Adres 1156661720    Adres 1156661724    Adres 1156661730    Adres 1156661734    Adres 1156661740    Adres 1156661744    Adres 1156661750    Adres 1156661754    Adres 1156661760    Adres 1156661764    Adres 1156661770    Adres 1156661774    Adres 1156662000    

C中的代码

#include <stdlib.h>
#include <stdio.h>
#define BOK 15
extern int suma(int ** wsk, int);

int main()
{
  int i, k, licznik = 0;
  int** wsk = malloc(BOK * sizeof(int*));

  for(i = 0; i < BOK; ++i)
  {
    wsk[i] = malloc(BOK * sizeof(int));
  }


  for(i = 0; i < BOK; ++i)
  {
    for(k = 0; k < BOK; ++k)
    {
      wsk[i][k] = licznik;
      ++licznik;

      printf("%d\t", wsk[i][k]);
    }

    printf("\n");
  }

  for(i=0; i< BOK; i++)
  {
    for(k=0; k< BOK; k++)
    {
        printf("Adres %o\t", &wsk[i][k]);
    }
    printf("\n");
  }
  printf("Suma is: %d\n", suma(wsk, BOK));

  for(i = 0; i < BOK; ++i)
  {
    free(wsk[i]);
  }
  free(wsk);

  return 0;
}

1 个答案:

答案 0 :(得分:6)

它们的区别相同,即4个字节。

由于某种原因,您使用"%o"作为printf()的格式字符串,即八进制。

如上所述2501,使用"%p"打印指针值(十六进制)。