1. 程式人生 > >處理動態連結串列所需函式一:malloc

處理動態連結串列所需函式一:malloc

/*
每個結點都分為兩個域,一個是資料域,存放各種實際的資料。
另一個域為指標域,用來存放下一個結點的首地址。鏈中的每一個
結點都是同一種結構型別。
*/
/*
struct stu
{
	//資料域
	int num;
	float score;

	//指標域
	struct stu *next;
};
 */
/*
處理動態連結串列所需函式:
#include<stdlib.h>

1.分配記憶體空間函式:malloc
(型別說明符*)malloc(size);

注意:
型別說明符:表示把該區域用於何種資料型別,
型別說明符*:表示把返回值強制轉換為該型別指標。
size是一個無符號數,單位是位元組。

p = (char *)malloc(100);
表示分配100個位元組的記憶體空間,並強制轉換為字元陣列型別。
函式的返回值為指向該字元陣列的指標,把該指標賦予指標變數p。

*/

#include<stdio.h>
#include<stdlib.h>

void main()
{
	int *p;
//	p = (int *)malloc(2);
	//如果不清楚該為變數分配多少儲存空間,可使用sizeof運算子來獲得。

	p = (int *)malloc(sizeof(int));

	/*系統分配一塊包含2個位元組的儲存空間,
	用於儲存一個整數。
	*/
	*p = 20;
	printf("p = %d\n",*p);
}