编写c语言程序遇到一些问题

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显式的分配内存和释放内存了,但这个数组一旦分配好就很难改变了,不能动态的删除某个元素,动态的增加一个元素等;

若数据的数量是一直在变化的,考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值