在C中动态分配char**

Jen*_*y B 0 c dynamic-memory-allocation

我有一个日期类型定义为typedef char*DateTime; 格式为"dd/mm/yyyy-hh:mm",例如"08/08/2012-12:00"

我想分配n个字符串,即"日期".以下是什么问题?

    DateTime*  dates = (DateTime* ) malloc(sizeof(char*) * n);  
for (int i = 0; i <= n; i++) {
    dates[i] =  malloc(sizeof(char)*16);
    if (dates[i] == NULL) {
        free(dates);

        return NULL;
    }
}
Run Code Online (Sandbox Code Playgroud)

cni*_*tar 7

for (int i = 0; i <= n; i++) {
                   ^
Run Code Online (Sandbox Code Playgroud)

在C数组中从0这样开始dates[n]就无法访问.掉下来=.