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

指針-關於內存分配的問題

編輯:編程綜合問答
關於內存分配的問題

關於內存分配,結構體定義式多定義了一個指針的情況
typedef struct node{
int a;
int b;
}Node, *ANode;
那麼為變量
Node P
和 為變量 ANode Q
創建空間
P=(Node *)malloc(sizeof(Node));
和 Q=(ANode)malloc(sizeof(ANode));
區別在哪裡

最佳回答:


Node P ---這個定義 的節點對象實例
和 為變量 ANode Q ---這個定義了一個指向對象實例的指針
創建空間
P=(Node *)malloc(sizeof(Node)); 所以不能講指針賦值給一個對象
和 Q=(ANode)malloc(sizeof(ANode)); 定義有錯,將4字節的內存強制轉換為node指針,極其容易內存越界啊。

正確用法是ANode Q=(ANode)malloc(sizeof(Node));

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