If your machine is newly installed using the DVD and have never been updated online, you have everything you need on the DVD, run the following command which will likely also install a full C development environment.
zypper in kernel-devel kernel-default-devel make gcc
After the above you should be set to do any kernel module building, you don’t even need to reboot.
If you don’t have a DVD…
IIRC gcc does not actually “require” anything else (it’s a standalone binary without any dependencies) but other libraries may be required for certain functionality.
So, for your situation “it depends.”
You should be able to sneakernet any files from another machine with a network connection to your machine, eg using a USB key.
If you have multiple gcc versions side by side on your machine, I wrote a wiki article how to set up alternatives so that you can switch between them easily, otherwise you will like to have to configure (and re-configure) symlinks manually repeatedly.
https://en.opensuse.org/User:Tsu2/gcc_update-alternatives
As for kernel headers, that is a subset of the kernel source and you should install source in place of headers.
Additionally, when you install kernel headers with a network connection, headers specific to your running kernel are installed… There is no general kernel headers that applies to multiple kernels. Needless to say, unless you have machines running identical kernels, you cannot sneakernet kernel development header packages or files from one machine to another… The only practical solution requires an Internet connection or the DVD if you’re running the kernel from the DVD.
When you have a network connection, you can typically install your kernel headers with the following command (assuming the default kernel, you don’t have another kernel flavor installed)
zypper install kernel-devel kernel-default-devel
TSU