C++ 转换成C时发生的一些错误

今天帮别人把一个C++的程序转成C程序,中间出了几个问题

1 首先是字符串的问题

char *str = "";
char *s = str;

注意这里用的char*只是定义了一个字符型的指针,其相互复制的时候,只是指针值的传递,如果指针值是函数中开辟的临时变量,那么就会出现问题。所以不能这么做。正确的做法是用字符数组

char strs[100];

数组要保证足够的空间,以免在复制的时候发生溢出现象。复制的时候也要使用strcpy函数。

2 发生错误 C2065

错误消息
“identifier”: 未声明的标识符
在可使用变量的类型前必须在声明中指定它。在可以使用函数前必须在声明或原型中指定该函数使用的参数。如下所示,就会出现这种错误

printf("what a bad error it is\n");
int a = 10;

但是如果调换顺序就会正确,这点正是C和C++的重要区别,在C中变量定义必须在作用域的最开头,C++就比较随心所欲,可以在使用的时候定义就行。

int a = 10;
printf("what a bad error it is\n");





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值