How can I get Serial.print to print a variable thats a char?
To make your code work, you must use character array pointers. A "char" holds only one character, while "char*" can point to a string.

char foo = 'a';
char *bar = "string with lots of stuff.";


So the full code to implement your example is:

void setup()
{
  Serial.begin(9600);
}

void dataprint(char *parameterName, float dataNum, char *unitName)
{
  Serial.print(parameterName);
  Serial.print(",");
  Serial.print(dataNum);
  Serial.print(",");
  Serial.println(unitName);
}

void loop() {
  char *temp = "temperature";
  float t = 123.4;
  char *unit = "C";
  dataprint(temp,t,unit);

  while(1)
  {
    //do nothing
  }
}


Which prints the following to the serial port:

temperature,123.40,C