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

本文总结了C语言编程中的一些常见问题,包括文件路径的表示、数组的内存分配与初始化、memset的使用细节、内存管理函数的包含头文件、二进制文件的读写操作,以及main函数的正确形式。强调了在处理路径时的转义字符,数组初始化的重要性,以及内存操作的注意事项。
摘要由CSDN通过智能技术生成

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值