24h購物| | PChome| 登入
2011-07-29 08:17:18| 人氣776| 回應0 | 上一篇 | 下一篇

[問題] 指標

推薦 0 收藏 0 轉貼0 訂閱站台

#include<stdio.h>
#include<stdlib.h>
typedef struct AVLNode {
    int v;
    short h;
    struct AVLNode *p, *lc, *rc;
}AVLNode;
main() {
    AVLNode *A, *B, *C, *D;
    AVLNode **F;
    A = (AVLNode*)malloc(sizeof(AVLNode));
    B = (AVLNode*)malloc(sizeof(AVLNode));
    C = (AVLNode*)malloc(sizeof(AVLNode));
    D = (AVLNode*)malloc(sizeof(AVLNode));
    A->v = 2, B->v = 1, C->v = 3, D->v = 0;
    A->p = D, A->lc = B, A->rc = C;
     printf("A: 指向%p 本身%p\n",A,&A);
    printf("B: 指向%p 本身%p\n",B,&B);
    printf("C: 指向%p 本身%p\n",C,&C);
    printf("D: 指向%p 本身%p\n\n",D,&D);            
    
    printf("F: F:%p *F:%p &F:%p\n",F,*F,&F);
   
    *F = A->p;
   
    printf("F: F:%p *F:%p &F:%p\n",F,*F,&F);
   
    A->p = B;
   
      printf("F: F:%p *F:%p &F:%p\n",F,*F,&F);
   
      printf("A: 指向%p 本身%p\n",A,&A);
    printf("B: 指向%p 本身%p\n",B,&B);
    printf("C: 指向%p 本身%p\n",C,&C);
    printf("D: 指向%p 本身%p\n",D,&D);
   
    printf("%d\n", (*F)->v);
    system("pause");
    return 0;
}
1. ‎*F = A->p, 輸出 0, F = &(A->p), 輸出 1, 這到底怎麼回事呢 ?
#include<stdio.h>
#include<stdlib.h>

int main()
{
   
    int arr[7];
   
    printf("%p %p %p\n",arr,&arr,&arr[0]);
    printf("sizeof arr : %d\n",sizeof(arr));
   
    int *parr = (int*)malloc(7*sizeof(int));
    printf("%p %p %p\n",parr,&parr,&parr[0]);
    printf("sizeof arr : %d\n",sizeof(parr[0]));
   
    system("pause");
}
2. 陣列跟指標陣列, 指標陣列記憶體較大, 他的結構到底是長怎樣呢 ?

台長: Morris
人氣(776) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 不分類 | 個人分類: 解題技巧 |
此分類下一篇:[分析] ZJ 排序大車拼
此分類上一篇:Hash table %& 結論

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文