A smart city is an environment where a pervasive, multi-service network is employed to provide citizens improved living conditions as well as better public safety and security. Advanced communication technologies are essential to achieve this goal. In particular, an efficient and reliable communication network plays a crucial role in providing continue, ubiquitous, and reliable interconnections among users, smart devices, and applications. As a consequence, wireless networking appears as the principal enabling communication technology despite the necessity to face severe challenges to satisfy the needs arising from a smart environment, such as explosive data volume, heterogeneous data traffic, and support of quality of service constraints. An interesting approach for meeting the growing data demand due to smart city applications is to adopt suitable methodologies to improve the usage of all potential spectrum resources. Towards this goal, a very promising solution is represented by the Cognitive Radio technology that enables context-aware capability in order to pursue an efficient use of the available communication resources according to the surrounding environment conditions. In this paper we provide a review of the characteristics, challenges, and solutions of a smart city communication architecture, based on the Cognitive Radio technology, by focusing on two new network paradigms-namely, Heterogeneous Network and Machines-to-Machines communications-that are of special interest to efficiently support smart city applications and services.