DHT11 Question

Hi,

So I bought a DHT11 sensor and I was testing it out on my Arduino UNO, I used the DHTLib library and used the following sample code:

#include <dht.h>
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address

dht DHT;

#define DHT11_PIN 7

void setup(){
  Serial.begin(9600);
  lcd.begin(16,2);
}

void loop()
{
  int chk = DHT.read11(DHT11_PIN);
  lcd.setCursor(0,0);
  lcd.print("Temperature:");
  lcd.print(DHT.temperature);
  lcd.setCursor(0,1);
  lcd.print("Humidity: ");
  lcd.print(DHT.humidity);
  delay(1000);
}

So it worked perfectly, but I would like to understand a couple things:

  1. Why do I have to create “int chk” variable if I am not referring to it anywhere? When I get rid of that variable, my DHT.temperature and DHT.humidity drop to 0.0, yet variable chk is not being used.

  2. What is the difference between #define pin = 7 and const int pin = 7?

  3. I was initially using a resistor to avoid damaging the sensor, but I noticed that using a resistor messed up my values to 0.0, so I removed the resistor and everything well. Why is it that I can’t use a resistor? Wouldn’t that damage the component?

Thanks

(deleted)