Generally speaking in the United States:
Non-profit is an misleadingly named corporate structure that really means non-stock. Delaware reasonably calls this structure a non-stock company.
Charity is a tax structure for the subset of non-stock corporations that are legally bound to use their resources for specific ostensibly purposes under 501(c3) of the tax code.