Max length of strings in an array of strings

I've built a simple "macro" command into a keyboard adapter I've built, with each possible macro stored as a string in an array thus:

char* macrostrings[4]= {
  "CALL -151\n", 
  "8:20 35 FD 20 ED FD 4C 8 0 8G \n",
  "2000:20 35 FD C9 95 D0 2 B1\n :28 C9 94 D0 9 98 69 3\n :29 FC 85 24 D0 EA C9 8E\n :D0 8 A5 32 49 C0 85 32\n :D0 DE 20 ED FD 18 90 D8 \n",
  "10 print pdl(0) \" \" pdl(1) \" \" peek(-16287) \" \" peek(-16286) : goto 10\n    run\n"

};

I've tried including some other strings, but there's obviously an upper limit to how long they can be, since the longer ones don't work.

So, two questions for the group:

1 - what is that upper limit?

2- how do i get around it?

special bonus questions:

3- is there a better way to store these macro strings such that I can trigger them with a function like

sendMacro(0)

to send the first (index 0) macro?

4- can you identify what my macros are doing?

1 - what is that upper limit?

When you run out of memory.

2- how do i get around it?

See above answer, and see if you think this question is even reasonable

3- is there a better way to store these macro strings such that I can trigger them with a function like

No.

4- can you identify what my macros are doing?

You wrote them. You tell us.