It's funny because I just had to do this for my programming class. You are going to have to do a series of things.
Because strings are dealt with in arrays you are going to need to remove all of the spaces and punctuation marks. (My suggestion is rather than excluding the unwanted characters, to only accept the types of characters you want. aka: lowercase and uppercase characters.)
After removing the unwanted characters you need to covert all of the characters that are uppercase to lowercase.
Once you have removed all of the unwanted characters and made it all lowercase, then you can reverse the array and see if it is equivalent to the un-reversed.
Obviously you are going to need multiple variables to hold all of the info. I would also suggest breaking each of these steps into individual functions so you can use pointers.
I had something easier on my mind.. such as a function that takes as a parameter an array of characters and returns 1 if the content of the array is palindrome and 0 if the content of the array isn't palindrome..In order to check if the character sequence is palindrome i just have to compare the integer ASCII code of the first character with last, the second character with next to last etc... Am i right..?? As a hint i'll write this idea in a function:
int palindrome(char *s)
int i, len, check;
len = strlen(s);
check = 1;
i = 0;
if(s[i] != s[len-i-1])
check = 0;
} while(i < len);