文章属于原创内容,引用需注明出处!(尊重原创力量,人人做起)
一、写作背景
由于最近在忙着学习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;
C++:
在结构体变量类型前可以不添加
添加struct标识,且可以在
定义结构体变量的时候就进行赋值
struct Dny_Data
{
int data_len;
double *data;
} data_out;
Dny_Data data_in = { ana_Num ,data_1 };
2.for循环
C:
在for循环中不能定义新变量
int ii = 0;
for ( ii = 0; ii < out_num; ii++)
C++:
在for循环中可以直接定义新变量
for ( int ii = 0; ii < out_num; ii++)
3.输入输出指令
C:
使用的是printf
printf("%f\n\r",data_out.data[ii]);
C++:
使用std::cout
std::cout << data_out.data[ii] << "\t";
4.头文件
C:
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
C++:
#include <cmath>
#include <cstring>
#include <iostream>