C语言与缺陷.2

2017-03-11  本文已影响0人  刘向迪

非数组的指针

先看一个例子:
     char *r;
     strcpy(r,s);
     strcpy(r,t);

程序的目的是将两个字符串进行拼接并存在一个新的字符串里,但是这样写是不对的,因为在定义时没有让指针指向一个内存空间。跟改方法可以使用char r[100]这样给一个足够大的空间,或者使用malloc库函数。记得在malloc之后要及时释放内存空间。

作为参数的数组申明

看一个例子:
     char hello[]="hello";
     printf("%s\n",hello);

实际上是将数组的第一个元素地址传给函数了。因此将数组作为函数参数毫无意义。C语言会自动将作为参数的数组申明转换为相应的指针申明。注意在其他情况下不一定有这种转换关系。

连接器

零散点

上一篇下一篇

猜你喜欢

热点阅读