当前位置:   article > 正文

C++转标准C 注意事项_convert all nbnc lines to standard c

convert all nbnc lines to standard c

1.标准C语言不支持类,C++中的类要更改成全局结构体和全局变量。在构造函数中初始化的变量,和析构函数中释放的变量要重新写函数来初始化和释放。

2.C语言不支持new声明存储空间,        

char *Ptr ; 
        Ptr = (char *)malloc(100 * sizeof(char)); 

free(Ptr 

AdjList (*list)[20] = (AdjList(*)[20])malloc(sizeof(AdjList(*)[20])); 

 

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(void)
  4. {
  5. int i, row, column, **arr;
  6. while (scanf("%d %d", &row, &column) != EOF) {
  7. arr = (int **)malloc(sizeof(int *) * row); // 分配所有行的首地址
  8. for (i = 0; i < row; i ++) { // 按行分配每一列
  9. arr[i] = (int *)malloc(sizeof(int) * column);
  10. }
  11. free(arr);
  12. }
  13. return 0;
  14. }
#include <stdlib.h> int main(void) { int i, row, column, **arr; while (scanf("%d %d", &row, &column) != EOF) { arr = (int **)malloc(sizeof(int *) * row); // 分配所有行的首地址 for (i = 0; i < row; i ++) { // 按行分配每一列 arr[i] = (int *)malloc(sizeof(int) * column); } free(arr); } return 0; }

 

3.C语言不支持cout要用printf   printf("飞行时间:%f\n",z);

4.C语言的文件输入输出流。

#include "stdio.h"

FILE *file;

file = fopen("a.txt","w");

fprintf(file,"xxxxxxxxxx%f\n",a);

4.C语言不支持引用调用,要改为指针调用。

5..h文件要有相应的

#ifndef EXTVAR_H
#define EXTVAR_H

 

#endif 

6.C++调用C,注意调用格式,不然会出现莫名其妙的错误。所有调用的C,都要

声明时

#ifndef EXTVAR_H
#define EXTVAR_H


#ifdef __cplusplus
extern "C" {
#endif

#include "newconst.h"

typedef struct
{
float wx; //角速度
float wy;
float wz;

}IMU_MSG;
//速度位置重置标志位
extern int pos_velo_init;

extern void a();

#ifdef __cplusplus
}
#endif /* extern "C" */
#endif  // end of EXTVAR_H definition


使用相关函数时
extern “C”
{
#include “ s.h”
#include “t.h”
#include “g.h”
#include “j.h”
};
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/309862
推荐阅读
相关标签
  

闽ICP备14008679号