Run the resulting calc program with several different choices of command line parameters. It means that argv is an array of pointers to characters. In fact, each of these is a pointer to a dynamic array of characters. That contains a pointer to a dynamic array of characters that contains the actual command that was typed. If you choose to complete this exercise, modify your calc program from Exercise 1 so that it also prints a copy of the command that was typed along with the command line parameters.
Most programs require a certain number of command line parameters.
The first argument, argc, is the value of argc from the main program. The second argument, right, is the correct number of arguments that this program is supposed to have. The third argument, usage, is a string which is a succinct usage message for the program. But if argc differs from right, then the function prints the message and halts the program. By the way, you are headed toward a program that reads a file of arithmetic expressions as input.