首页 > 代码库 > 第十一天:C基础之关键字

第十一天:C基础之关键字

  上课已经是第十一天,C语言的语法差不多要结束了。剩下的就只有扫尾操作。C语言一共有32个关键字。老刘先是列出这些关键字,然后讲平时没有讲过的。

     C语言关键字有:void int  char short long double float unsigned signed  

          if else do while sizeof auto register const static enum

          typedef return break goto continue swich struct union

          case default extern for volatile

   extern :   不分配内存,仅仅声明为外部变量。

   auto  经常变的变量 基本不用

   register 寄存器变量 用于经常访问的数据 加快访问速度,但是数量有限。

   volatile  说明变量与硬件相关,不希望被编译器优化

   typedef 对变量进行重命名 

    const  只读变量  一般用于指针。

 1 #include<stdio.h> 2  3 int main() 4 { 5     int i = 10; 6     int j = 20; 7          8     const int * p1 = &i; 9     int * const p2 = &i;10     11         *p1 =20;// err12      p1 = &j;//ok    13      *p1 = 21;//err    14     *p2 = 20 ; // ok15      p2 = &j ; err 16 }

 const 往后面离谁最近就修饰谁,比如第八行,从const 离* 近,就表明*p里面的内容不可变。第八行也可以写成int const * p1 = &i; const 一般作为函数参数使用。

 1 #include<stdio.h> 2 #include<assert.h> 3  4 int mystrcpy(char *dest ,const char * source ) 5 { 6     assert(source != NULL);//断言 7     while(*source) 8         *dest++ = *source++; 9 }10 11 int main()12 {13     char *p = "hello world ";14     char *p2 = NULL;15     char data[1023]={0};16     17     mystrcpy(data,p2);18     printf("data is %s\n",data);19 20 21 }

 注意这里要使用断言。

 void  *p  不知道存什么类型的地址。一般是通过隐式类型转换使用

 宏定义:#define 仅仅是进行简单的替换。所以尽量用()

 为了防止头文件被重复包含,使用 #ifndef  A  #define A #endif  为了让代码和平台无关  使用 #ifdef  #else  #endif

为了注释代码   使用   #if  0/1    #else  #endif

 1 #include<stdio.h> 2 #include"bunfly.h" 3 #include"hello.h" 4  5 #if 1 6 int main() 7 { 8     printf("i am main\n"); 9     hello();    10     bunfly();11 }12 #else 13 int  main()14 {15     printf("hello world \n");16     17 }18 #endif

下午的时候老李给我们讲面试技巧,模拟面试了两个人。感觉我现在去面试没有一点优势。还是要加强沟通技巧。周一还要交简历。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

第十一天:C基础之关键字