Um i think the definition of a function should be raised.
From Wolfram:
A function is a relation that uniquely associates members of one set with members of another set.
A function y=f(x) has critical points at all points x0 where f^'(x0)=0 or f(x) is not differentiable.
So f: R -> R (real numbers in domain mapping to real numbers in codomain), where f(x)=1/x is not a function as f(0) is not defined. Thus f does not uniquely associate 0 with a real number in the codomain and f is not a function, thus we cannot use the definition of critical points for a function on f. Thus we cannot say 0 is a critical point.
However, if f: R/{0} -> R (real numbers excluding 0 in domain mapping to real numbers in codomain) where f(x)=1/x is a function, as every real number in the domain can be mapped to a real number in the codomain. Thus the definition of critical points for a function can be applied. However, 0 is not in the domain of f, so it cannot possibly be a critical point.
Also, for f: R--> R, f(x)=sqrt(x) is not a function, as it does not map negative numbers to any numbers in the real codomain, however for g: (0, inf) --> R, g(x)=sqrt(x) and h:Real --> Complex where h(x)=sqrt(x) are functions.
EDIT: Yeh but for high school definitions are useless, and sometimes wrong...