c语言细节(1)

1.C语言没有string s;

用char * s; char s[100];表示字符串

对于字符串的scanf("%s",s);  s前面不需要加&,,,

2.scanf("_%d",&a);   前面加上一个空格,避免循环输入的时候用getchar();吃掉后面的enter;

3.c=getchar();  putchar();  和  c=getch();putch(c);的区别

前者先输入到缓冲区,当按下回车后,才赋值,可用回退修改;;;而后者直接赋值,不能修改;

输入字符串包含空格:gets(s);  puts(s);

4.   int a=4;  float c=(float) a; 此时a仍然是int型的,只是暂时转换成float,

5.   malloc()/free()   和 c++中 new /delete 的区别:(int * p=new int ;  int *p=new int[10]  可见new只是一个操作符而已)

  后者是操作符,负责分配内存空间+调用构造(析构)函数进行初始化;而前者是函数,只负责分配内存空间;

  int * temp=(int *) malloc(10*sizeof(int));   malloc(n)---> n表示分配n个字节

  返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针

6. 位运算的艺术:(比如求模%,  i%8  ==   i & 0x07;)(见下次具体分析)

 

原文链接: https://www.cnblogs.com/shuguang/archive/2012/12/06/2806267.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    c语言细节(1)

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/71699

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午3:00
下一篇 2023年2月9日 下午3:00

相关推荐