c is a function that combines values into a vector. For example:
x = c(3, 10, 11)
y = c("yes", "no", "maybe")
Run ?c to bring up the help file for the c function.
But you can also use c as the name of an object, like a vector, list, or data frame (although you probably shouldn't to avoid confusion). For example:
a = 5
b = 6
c = 7
And you can then put these into a vector using the c function:
x = c(a, b, c)
x
# [1] 5 6 7
Using c as both a function and the name of an R object works because when you call a function (like c), R evaluates the function call by searching only for a function named c and ignores objects named c that aren't functions (see this StackOverflow answer for additional information).
Likewise, many people call their data frame df, as in:
df = data.frame(x=1:5, y=6:10)
But there is also an R function called df (the density function of the F distribution; for example df(seq(0,3,length=20), 20, 50)). Most people rarely need to use the df function, so naming a data frame df doesn't usually cause confusion. But c is used frequently, so it's probably best to avoid calling an object (like a vector, list, or data frame) c.