**ptrを使う用例がいっぱい載っている本を教えてください

自分はこんなことにしか使ってない気がする
struct hoge *ptr
func(&ptr);

func(struct hoge ** ptr){

}