Here's a simple example that reflect a usage similar to creating an object.
#include <stdlib.h>
#include <string.h>

char *new_string(char *s) {
  int   len   = strlen(s);
  char *new_s = malloc(len+1);
  strcpy(new_s, s);
  return new_s;
}
It takes a string as input and creates a new object containing this string. In a sense, it duplicates the string. Note that we have also used a handy routine from the string library, rather than writing a loop to do the copy. Look it up in K&R.

Here's a little driver so you can try it out.

int main(int argc, char *argv[]) {
  char *s = argc > 1 ? argv[1] : "this is a test";
  char *t = new_string(s);
  printf("s @%08x: %s\n", s, s);
  printf("t @%08x: %s\n", t, t);
}
<\pre>

This example also gives you a little review of command line arguments.  (Notice, argv is an array of strings.  What is argv[0]?)  Copy these into a file, compile and run it.

Also, review the format strings to printf to understand %08x.