it's a local variable, and local variables do not get initialized in C.
address.sin_family = AF_INET;
address.sin_addr.s_addr = ((struct in_addr *)(host->h_addr_list[0]))->s_addr;
address.sin_port = htons(port);
Why is it useful the put 0 before setting those values?