Configure input pullup through registers
Credits to GoForSmoke.
Also see Gerben's comment below.
See: https://forum.arduino.cc/index.php?topic=286145.0
byte ddrcMask =       ~
(
        (1 &lt;&lt; DDC0) |  // pinMode( 14, INPUT ); // Set to input
        (1 &lt;&lt; DDC1) |  // pinMode( 15, INPUT ); // Set to input
        (1 &lt;&lt; DDC2) |  // pinMode( 16, INPUT ); // Set to input
        (1 &lt;&lt; DDC3)    // pinMode( 17, INPUT ); // Set to input
);


byte portcMask =
(
        (1 &lt;&lt; PORTC0) |  // digitalWrite( 14, HIGH ); // Enable the pullup
        (1 &lt;&lt; PORTC1) |  // digitalWrite( 15, HIGH ); // Enable the pullup
        (1 &lt;&lt; PORTC2) |  // digitalWrite( 16, HIGH ); // Enable the pullup
        (1 &lt;&lt; PORTC3)    // digitalWrite( 17, HIGH ); // Enable the pullup
);

byte pincMask = ( (1 &lt;&lt; PINC0) | (1 &lt;&lt; PINC1) | (1 &lt;&lt; PINC2) | (1 &lt;&lt; PINC3) );


void setup( void )
{
  // Configure the pins for input
  DDRC = DDRC &amp; ddrcMask;

  // Enable the pullups
  PORTC = PORTC | portcMask;

  // Read all four inputs
  uint8_t Pdat = PINC &amp; pincMask;
}

void loop( void )
{
}