关于结构体指针的问题

PDMM_OpenUART函数返回SerialInfo_t结构体的指针,为什么

SerialInfo_t *SerialInfo = PDMM_OpenUART("/dev/ttySP0", SerialArg);
可以用
SerialInfo_t *SerialInfo = NULL;
SerialInfo_t *SerialInfo = PDMM_OpenUART("/dev/ttySP0", SerialArg);的区别。
不可以用

第一种方法中SerialInfo_t *SerialInfo = PDMM_OpenUART("/dev/ttySP0", SerialArg);,SerialArg是一个指向已分配的存储空间的结构体指针,函数执行结果就写入指针所指向的存储空间。
而第二种方法中,SerialArg被设置为NULL,那么PDMM_OpenUART会向NULL指向的存储空间(一个未被分配的存储空间)写入执行结果,肯定会报“Segment Fault”错误。