sizeof函数(sizeof函数百度百科)
用于计算数据(包括数组、变量、类型、结构体等)所占用的内存空间,用字节数表示。在L=(List)malloc(sizeof(PtrToNode));中,sizeof是对定义的结构体PtrToNode取总字节数。
malloc函数(malloc函数百度百科)
是#include<stdlib.h>中的一个库函数,是一个指针型函数(指针函数:返回值是指针的函数 指针函数百度百科)。用于在内存开辟一段地址,而这段地址的首地址存在返回的那个指针变量里,由于不知道这段地址到底有多长,可以存什么变量,所以它的类型是空的,可以强制类型转换,使其变成确定长度,固定存放一种数据类型的地址,而不管它是那种类型,其首地址还是原来的那个,还是存在一个指针变量中,指针变量就是存放指针的,指针是一个地址,指针变量是一个由我们定义的、用来放地址的变量。malloc后的括号内是要分内存空间大小,用sizeof函数获取。
综上,L=(List)malloc(sizeof(PtrToNode));这句话的意思是,获取PtrToNode的字段长度,用指针指向这块内存,然后将指针强制转换为List类型。L变量就代表与PtrToNode地址长度相等的、所占内存大小相等的List指针。