In contrast to single-product pricing models, multi-product pricing models have been much less studied because of the complexity of multi-product demand functions. It is highly non-trivial to construct a multi-product demand function on the entire set of non-negative prices, not to mention approximating the real market demands to a desirable accuracy. Thus, many decision makers use incomplete demand functions which are defined only on a restricted domain, e.g. the set where all components of demand functions are non-negative. In the first part of this paper, we demonstrate the necessity of defining demand functions on the entire set of non-negative prices through some examples. Indeed, these examples show that incomplete demand functions may lead to inferior pricing models. Then we formulate a type of demand functions using a Nonlinear Complementarity Problem (NCP). We call it a Complementarity-Constrained Demand Function (CCDF). We will show that such demand functions possess certain desirable properties, such as monotonicity. In the second part of the paper, we consider an oligopolistic market, where producers/sellers are playing a non-cooperative game to determine the prices of their products. When a CCDF is incorporated into the best response problem of each producer/seller involved, it leads to a complementarity constrained pricing problem facing each producer/seller. Some basic properties of the pricing models are presented. In particular, we show that, under certain conditions, the complementarity constraints in this pricing model can be eliminated, which tremendously simplifies the computation and theoretical analysis.