码迷,mamicode.com
首页 > 其他好文 > 详细

C专家编程

时间:2017-06-07 12:56:19      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:字符串   char   比较   赋值   rcp   输出   硬件   问题   str   

此书确实很有内容,记录一二。

第一章

(1)const char *类型可以被char *赋值,反之不可,因为编译器有规定,对于指针,赋值号左边的指针限定符可以包容右边的,反之不可。

所以对于strcpy这类函数而言,第二个参数的形参是const char *,而传递进去的实参是char *就没有问题,如果反过来就有问题了。其实把函数的形参设定为const char *就是为了防止在这个函数里修改那个指针所指向的字符串。

(2)int与unsigend int比较

int a[3]={1,2,3};
#define size (sizeof(a)/sizeof(a[0]))
main()
{
int i=-1;
if(i<size)
printf("hello");
}

上述代码是无法输出的,因为i会被升级成unsigned int,unsigned比signed要高一级。

所以,编程时,不要随便用unsigned,这么做意义不大,除了硬件编程时用于位操作。

C专家编程

标签:字符串   char   比较   赋值   rcp   输出   硬件   问题   str   

原文地址:http://www.cnblogs.com/neuzhangyu/p/6956045.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!