How to define and display an array of pointers to strings in C

1 Answer

0 votes
#include <stdio.h>

int main(int argc, char **argv) 
{ 
    char *scientists[] = {
                            "Albert Einstein",
                            "Isaac Newton",
                            "Marie Curie",
                            "Galileo Galilei",
                            "Charles Darwin"
                         };
                        
    for(int i = 0; i < 5; i++)
        puts(scientists[i]);
        
    return 0;
}

/*
run:

Albert Einstein
Isaac Newton
Marie Curie
Galileo Galilei
Charles Darwin

*/

Memory Picture:

4206628 + strlen("Albert Einstein")(15) = 4206643 + 1 ('\0') = 4206644 -> Start -> "Isaac Newton"



answered Jun 30, 2015 by avibootz
edited Jun 30, 2015 by avibootz
...