warning from gcc

I get this error warning.
test.c: In function 'main':
test.c:5: warning: incompatible implicit declaration of built-in function 'memset'

After compiling this code

#include <stdio.h>
int main() {
        char pBuffer[32];
        memset(pBuffer, 0, 32);  
        return 0;
}

What seems to be the reason for this trouble?
I searched Google all day about this, but I couldn't figure out why.

my gcc version is following
>gcc -v
Using built-in specs.
Target: i386-portbld-freebsd5.3
Configured with: ./..//gcc-4.0-20050728/configure --disable-nls --with-system-zlib --with-libiconv-prefix=/usr/local --program-suffix=40 --libdir=/usr/local/lib/gcc/i386-portbld-freebsd5.3/4.0.2 --with-gxx-include-dir=/usr/local/lib/gcc/i386-portbld-freebsd5.3/4.0.2/include/c++/ --disable-shared --prefix=/usr/local i386-portbld-freebsd5.3
Thread model: posix
gcc version 4.0.2 20050728 (prerelease) [FreeBSD]

When I was using gcc 3.4.x, there was no warning.
But after upgrading to gcc 4.0.2, I have this error.
Do I have to downgrade gcc?

you need to include string.h for the defitinion.

I have no warnings now.
Thanks!