Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在onec上对整个阵列进行malloc?在C中_C - Fatal编程技术网

如何在onec上对整个阵列进行malloc?在C中

如何在onec上对整个阵列进行malloc?在C中,c,C,如何将文件路径的malloc数组设置为非文件路径中每个idx的malloc数组 我需要的是文件路径[file\u path\u idx]=char*mallocstrlenfpath+1;上面的for循环和strcpy将正常工作?您可以分配一块内存,其中包含大小为\u的\u文件*strlenfpath+1字节。然后,您可以在制作fpath副本时对此进行索引 一次分配,一次取消分配。100次分配,100次取消分配。比较正确吗?文件\u路径\u idx>N;然而,文件路径idx++正在增加。也许应该

如何将文件路径的malloc数组设置为非文件路径中每个idx的malloc数组
我需要的是文件路径[file\u path\u idx]=char*mallocstrlenfpath+1;上面的for循环和strcpy将正常工作?

您可以分配一块内存,其中包含大小为\u的\u文件*strlenfpath+1字节。然后,您可以在制作fpath副本时对此进行索引


一次分配,一次取消分配。100次分配,100次取消分配。比较正确吗?文件\u路径\u idx>N;然而,文件路径idx++正在增加。也许应该是file_path_idx# define size_of_files 100 char* file_paths[size_of_files]; for(int file_path_idx = 0; file_path_idx < N; file_path_idx++) { file_paths[file_path_idx] =(char*)malloc(strlen(fpath)+1); strcpy(file_paths[file_path_idx],fpath); }
# define size_of_files 100
char* file_paths[size_of_files];

size_t pathlen = strlen(fpath)+1;
char *all_paths = malloc(size_of_files * pathlen);

for(int file_path_idx = 0; file_path_idx < N; file_path_idx++)
{
    file_paths[file_path_idx] = &all_paths[file_path_idx * pathlen];
    strcpy(file_paths[file_path_idx], fpath);
}