If I understand your question correctly, and it's "what is the role of argc" the answer is that we need it to know how many arguments were passed to main from the command line. So if the command was ./hello-4 Zamyla we have argc == 2 and argv[0] == "./hello-4" and argv[1] == "Zamyla". Without argc you wouldn't know the length of argv.

Only top voted, non community-wiki answers of a minimum length are eligible