1.读取文件路径时,是双斜杠,如果是单斜杠,会出现找不到目标文件的情况
fid = fopen("E:\\my_c\\cloud_detection\\cloud_detection\\cloud\\gray_13.txt", "rb");
实际路径是一个斜杠,但在C语言中表示斜杠要经过转义字符“\”,所以会看起来有两个斜杠,第一个是表示转义字符。
另外读路径是按照如下表示也可以:
"D:/my_work/xiaoweixing_kuanshichang/image/cloud/f22_mwir_ze70_sea301_rad_cloud.mat";
2.数组使用前要进行内存分配和初始化,一定要初始化,不然有可能出现读取位置XXX时发生访问冲突的问题
labelmap = (int *)malloc(sizeof(int)*height*width);
memset(labelmap, 0, sizeof(int)*height*width);
若想将数据以数组的方式组织,有以下几种情况:
若明确知道数据的大小,则可直接 int a [num],在这里num必须是常量,不能是变量,用这种方式定义不用明确的分配内存和释放内存;
若数据的大小是根据程序的其他部分确定的,是一个变量,那就不能用上述的方法定义了,那只能使用malloc和free显式的分配内存和释放内存了,但这个数组一旦分配好就很难改变了,不能动态的删除某个元素,动态的增加一个元素等;
若数据的数量是一直在变化的,考