程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-【線性表問題】線性表創建時的一點問題

c語言-【線性表問題】線性表創建時的一點問題

編輯:編程綜合問答
【線性表問題】線性表創建時的一點問題

typedef struct{
int *data;
int length;
}sqlist;

void init_list(sqlist *l){
(*l).data=(int *)malloc(3*sizeof(int));
if(!(*l).data)printf("error!");
(*l).length=0;
}

int *data;和(*l).data=(int *)malloc(3*sizeof(int));,這兩句話的意思是不是,創建一個int型指針*data指向data,然後為data開辟動態空間?

最佳回答:


int *data其實也可以寫成int data[];
就是在內存地址中創建一個名為data的指針,這個指針的地址也是數組data[]的地址;
(*l).data=(int *)malloc(3*sizeof(int));這句話的意思是為data開辟一個可以存放三個整型的空間,不算是動態開辟空間,因為沒有循環而已源程序也指定了只開辟三個int空間而已。

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