Cloud Radio Access Network (C-RAN) is a future direction in wireless communications for deploying cellular radio access subsystems in current 4G and next-generation 5G networks. In the C-RAN architecture, BaseBand Units (BBUs) are located in a pool of virtual base stations, which are connected via a high-bandwidth low latency fronthaul network to Radio Remote Heads (RRHs). In comparison to standalone clusters of distributed radio base stations, C-RAN architecture provides significant benefits in terms of centralized resource pooling, network flexibility and cost savings. In this thesis, we address the problem of dynamic resource allocation and power minimization in downlink communications for C-RAN. Our research aims to allocate baseband resources to dynamic flows of mobile users, while properly assigning RRHs to BBUs to accommodate the traffic and network demands. This is a non-linear NP-hard optimization problem, which encompasses many constraints such as mobile users' resources demands, interference management, BBU pool and fronthaul links capacities, as well as maximum transmission power limitation. To overcome the high complexity involved in this problem, we present several approaches for resource allocation strategies and tackle this issue in three stages. Obtained results prove the efficiency of our proposed strategies in terms of throughput satisfaction rate, number of active RRHs, BBU pool processing power, resiliency, and operational budget cost.