Problems has arose when I was attempting to make a forward declaration for my function which included double pointers in the parameters, which was a function intended to store strings in an array. First, from solving one of my own bug, it is does not work well when an asterisk is being placed after the variable name. Variable declarations after the wrongly formatted pointer declaration would not be valid. Secondly,referencing from: http://parrt.cs.usfca.edu/doc/how-to-read-C-declarations.html The way to read a declaration in C goes like: Start at the variable name (or innermost construct if no identifier is present. Look right without jumping over a right parenthesis; say what you see. Look left again without jumping over a parenthesis; say what you see. Jump out a level of parentheses if any. Look right;say what you see. Look left; say what you see. Continue in this manner until you say the variable type or return type. S o for the case i