C語言指針並不難

    C語言的核心在於指針,這2個指針題目,如果你不用編譯就能得出正確的答案,那你一定是C的高手,不擇不扣的高手—指針並不難得意 

 

第一題:求p[-1]、p[-5]的值(此題重點在於負號,很簡單,考察對指針瞭解的廣度方面)
#include <stdio.h>

int main(void)

      char* p = NULL;
      char* tmp = "12345678";

      p = (char* )(tmp+4);
      //p[-1] = ?,   p[-5] = ?。     

   

      return 0;

}

 

 

第二題:求p[0]--p[5]的值(這個纔有點點挑戰)
#include <stdio.h>

int main(void)

      char* data = "12345678";
      short* tmp = NULL; 
      char p[6] = {0};
 
      tmp = (short *)&p[2];
      *tmp = atoi(&data[4]); 

      //p[0] = ?,   p[1] = ?,  p[2] = ?,    p[3] = ?,    p[4] = ?,  p[5] = ?。      
    
      return 0;

}

 

如果你覺得意猶未盡,那就再來一個吧:

     int* p = (int* )0x1234;

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

這個題的答案你總該知道吧。。。。。。偷笑

再如果你的確對指針感興趣,可看文章<一個簡單的結構體與指針題目>:http://blog.csdn.net/huangminqiang201209/article/details/8287498

 

      一己之見,見笑了。。。。。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章