fork download
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4. char **ptr;
  5. int n,m;
  6. char *temp;
  7. char *string1="BOOK";
  8. char *string2="FOR";
  9. char *string3="YOU";
  10. temp = string1;
  11. ptr = &temp;
  12.  
  13. printf("temp 位址:%p\n",&temp);
  14. printf("ptr 位址:%p\n",&ptr);
  15. printf("string1 位址:%p\n",&string1);
  16. printf("string2 位址:%p\n",&string2);
  17. printf("string3 位址:%p\n\n",&string3);
  18.  
  19. for(n=0;n<4;n++)
  20. {
  21. printf("*(ptr+%d) 所存的位址 %p\n",n,*(ptr+n));
  22. printf("*(ptr+%d) 指向字串 %s\n",n,*(ptr+n));
  23. for(m=0;*(*(ptr+n)+m) != '\0';m++)
  24. {
  25. printf("*(*(ptr+%d)+%d) = %c \n",n,m,*(*(ptr+n)+m));
  26. }
  27.  
  28. }
  29. return 0;
  30. }
  31.  
Success #stdin #stdout 0s 2112KB
stdin
Standard input is empty
stdout
temp 位址:0xbfe239e0
ptr 位址:0xbfe239dc
string1 位址:0xbfe239e4
string2 位址:0xbfe239e8
string3 位址:0xbfe239ec

*(ptr+0) 所存的位址 0x8048620
*(ptr+0) 指向字串 BOOK
*(*(ptr+0)+0) = B 
*(*(ptr+0)+1) = O 
*(*(ptr+0)+2) = O 
*(*(ptr+0)+3) = K 
*(ptr+1) 所存的位址 0x8048620
*(ptr+1) 指向字串 BOOK
*(*(ptr+1)+0) = B 
*(*(ptr+1)+1) = O 
*(*(ptr+1)+2) = O 
*(*(ptr+1)+3) = K 
*(ptr+2) 所存的位址 0x8048625
*(ptr+2) 指向字串 FOR
*(*(ptr+2)+0) = F 
*(*(ptr+2)+1) = O 
*(*(ptr+2)+2) = R 
*(ptr+3) 所存的位址 0x8048629
*(ptr+3) 指向字串 YOU
*(*(ptr+3)+0) = Y 
*(*(ptr+3)+1) = O 
*(*(ptr+3)+2) = U