程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-C語言中指針和地址的問題

c語言-C語言中指針和地址的問題

編輯:編程綜合問答
C語言中指針和地址的問題

想問一下以下程序中printf輸出的都是什麼數字,與數組中的數字和位置有什麼關系

#include

int main(int argc, const char * argv[]) {

int a[5] = {3,4,8,9,10};
double *p = (double *)&a;

printf("%d\n",(double *)p);

int *q = p;
printf("%d\n",*q);



//
int b[7] = {3,4,8,9,10,11,12};
double *x = (double *)&b;

printf("%d\n", *x);

int *y = x;
printf("%d\n",*y);

//
int d[6] = {3,4,8,9,10,11};
double *j = (double *)&d;

printf("%d\n",*j);

int *k = j;
printf("%d\n",*k);


//

int c[5] = {3,4,8,9,10};
double *n = (double *)&c;

printf("%d\n",*n);

int *m = n;
printf("%d\n",*m);

return 0;

}

最佳回答:


比如 double *p = (double *)&a; p指向了一個int數組,那麼編譯器知道p的類型是int型,那麼p+1就會移動sizeof(int)長度,指向了下一個元素

zhouhangjay
xi_ui
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved