Is there any different between the two:
for (int i=0; *(strings+i) != NULL ;i++)
len_strings += strlen(*(strings+i));
And:
for (int i=0; strings[i] != NULL ;i++)
len_strings += strlen(strings[i]);
Or is it more of a stylistic difference and there's no actual difference between the two in how it compiles/executes? Is one preferred over another for any particular cases or reasons?
ptrptr[i][j]vs*(*(ptrptr + i) + j). Use the subscript notation most of the time. Occasionally there's a benefit to using the alternative, but not often.