The accident occurred Friday when Justin Stanfield Thomas, 35, of Phoenix was visiting his former roommate in Prescott Valley, Ariz., with his son, his family said.
Thomas' 4-year-old son, who is currently at home with his mother in Phoenix, still does not understand what happened to his father.
"He doesn't know that his father is gone," the boy's grandmother, Marilyn Andreatta, told ABC News. "He's still waiting to play with him some more."
Thomas took his son with him Friday when he drove from his Phoenix home to pick up his bed from his former roommate in Prescott Valley, his mother.
When they arrived, Thomas' son reportedly found a gun in the home, ABC Phoenix affiliate KNXV-TV reported. The boy accidentally pulled the trigger and shot his father.
Thomas was in critical condition when he was taken to the hospital, where he later died, KNXV-TV reported.
Andreatta, who lives in Tampa, Fla., said her eldest son was a former Green Beret who was stationed in Iraq in 2003 and 2004.
But before he served in the military full time, Thomas did stand-up comedy, Andreatta said.
"He was very gregarious, very outgoing. He had a marvelous sense of humor," she said. "We had a very special relationship. He was my best friend."
Thomas was a father of two. In addition to a 4-year-old boy, he and his girlfriend had a two-month old baby, Andreatta said.
ABC News' calls to the Prescott Valley Police Department were not immediately returned.