当前位置:   article > 正文

C++转换为C需要注意的各项问题_c++转c

c++转c

文章属于原创内容,引用需注明出处!(尊重原创力量,人人做起)

一、写作背景

由于最近在忙着学习DSP进行工程实现,编写程序时发现了一个问题:C++和C语法经常会混淆。而DSP6678只能c编程,因此分不清 C++和C就会导致编译器报错。为了解决这个问题,我将自己编译时遇到的错误进行汇总,有一点可以肯定的是,这里汇总的问题不能完全包含C++和C的区别,所以日后遇到新的问题就会回来更新这个帖子。

二、不同点

1.创建一个新结构体变量
C:
在结构体变量类型前必须添加struct标识,且不能在定义结构体变量的时候就进行赋值

struct Dny_Data
{
	int data_len;
	double *data;
} data_out;

struct Dny_Data data_in;		
		data_in.data_len = ana_Num;		
		data_in.data = data_1;	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

C++:
在结构体变量类型前可以不添加添加struct标识,且可以在定义结构体变量的时候就进行赋值

struct Dny_Data
{
	int data_len;
	double *data;
} data_out;

Dny_Data data_in = { ana_Num ,data_1  };
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2.for循环
C:
在for循环中不能定义新变量

int ii = 0;
for ( ii = 0; ii < out_num; ii++)
  • 1
  • 2

C++:
在for循环中可以直接定义新变量

for ( int ii = 0; ii < out_num; ii++)
  • 1

3.输入输出指令
C:
使用的是printf

printf("%f\n\r",data_out.data[ii]);	
  • 1

C++:
使用std::cout

std::cout << data_out.data[ii] << "\t";
  • 1

4.头文件
C:

#include <math.h>
#include <stdlib.h>
#include <stdio.h>
  • 1
  • 2
  • 3

C++:

#include <cmath>
#include <cstring>
#include <iostream>

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

闽ICP备14008679号