インターフェイスのMACアドレスを取得する次のコードがあります。
static struct ifreq get_mac( int socket_desc, char *if_name ) {
struct ifreq if_mac;
memset( &if_mac, 0, sizeof( struct ifreq ) );
strncpy( if_mac.ifr_name, if_name, IFNAMSIZ - 1 );
...
return if_mac;
}
私のCの経験は、私が大学でしたことに限定されています。私は大まかにポインタを取得しますがstruct
、スタックスペースが不足する可能性があるため(stackoverflow!)、値で大きなsを返すことは悪い考えであることを理解しています。上記のコードを変更して、代わりにポインタを返すにはどうすればよいif_mac
ですか?struct
演算子:Sの'アドレスと'があるため、少し混乱します。