Larry, Ishwar, while rude(!), has a good point that you should get a good beginners book on C or C++ programming. For C, I might recommend "The C Programming Language" by Kernighan and Ritchie. While not a beginners book, it's a good, concise reference to the language suitable for experienced developers. The reason for this recommendation is that C and C++ handle things like strings much differently than scripting languages do, and you need to understand how this works in order to be able to effectively use them. In this case, what's really happening is that your command line arguments are being passed into your main function in an array of strings (C-style strings - that is, character arrays), where each array element of argv is a pointer that points to the first character of that null-terminated string. So, argv[0] points to the first character of the first argument. Adding the dereference operator dereferences that pointer and returns that first character. To use the whole string, you would pass the pointer to that string to functions that can manipulate strings. For example, if you are expecting a number, you can use the atoi function (ASCII to integer) like this: int num = atoi(argv[1]); Doing something like *argv[1] will return the first character of that argument. If the user entered '10', then it would return the ASCII character for '1', not the value 1. Hope this helps a bit. Thanks, Lyle -----Original Message----- From: gcc-help-owner@xxxxxxxxxxx [mailto:gcc-help-owner@xxxxxxxxxxx] On Behalf Of Larry Brown Sent: Saturday, August 14, 2004 4:30 PM To: gcc-help@xxxxxxxxxxx Subject: Newbie Hello I hope I'm in the right place... I am a fairly accomplished php developer and have written quite a bit of code with it. However, all of my coding experience has been with scripting languages and I have never had to deal with memory allocation and rarely ever dealt with pointers or casting etc. For instance... with scripting I can simply access arguments by referencing the string at argv[1] or ARGV[1] etc. It looks like I should be able to do this with c but I have to reference *argv[x] and *argv[x] only holds the first character. The following is a snippet... int main(int argc, *argv[]) { int secondVar=*argv[2]; } if the second argument is say ... 10, I only get the 1. There is some logic that I must follow that I can't see. I've tried looking at *argv[2][0] to see if it was one and *argv[2][1] was zero but is aparently not the case. I have looked at several howto/instruction documents and none seem to yeild much. TIA Again, I hope I'm in the right place... Larry