c语言基础复习二之零碎预科

一:字符串和字符的区别

  字符常量'x':是基本类型,由一个字符组成。

  字符串常量'x':是派生类型,由两个字符组成。(末尾有一个\0)

 

二:strlen()与sizeof()函数      

  strlen()函数:以字符为单位给出字符串的长度,计算长度的方法是遇到字符串结束符’\0‘为止。

  sizeof()函数:以该字符串的内存空间大小。

  例子:(1) char ch = "hello"              (2)char ch[20] = "hello"

        sizeof(ch) = 6          sizeof(ch) = 20

        strlen(ch) = 5          strlen(ch) = 5

  

 

三:"%20s",右对齐;"%-20s",左对齐。值不足20时,用空格填充;多于20个,全部输出。      //代码欠缺

 

四: 位逻辑与、或、异或【&、|、^】

1010 & 1110 == 1010
 1010 | 1110 == 1110
1010 ^ 1110 == 0101

注:a^b ---> 相同为零,不同为一

 

五:const型指针,令 int a = 100,b = 200。   

   

(1)、*前加const,如:const int *p 或  int const *p。

    p为指向整型变量指针,且该变量相对于p而言只读。

    解释:当 int const *p = &a ;  不能通过p改变值,举例 不允许*p = 250;即*p值不变,但a值可以变。

              注:*p = &a   等价于   int *p,p = &a;*P = 100。 

 

(2)、*后加const,如:int *const p;

    p为指向整型变量指针,且该指针p本身只读。

    解释:当 int *const p = &a,不允许 p = &b,即p指向位置固定。

 

(3)、*前后都加const,如:const int *const p 或 const int const *p。

    p为指向整型变量的只读指针,且该变量相对于p而言也是只读。

    解释:当 int const * const p = &;既不允许 *p = 250,也不允许p = &b。

 

六: int main(int argc, char **argv)

   argc:表示命令行参数的个数;

   argv:表示一个字符指针数组,用来存放命令行参数。

 

七:C为变量提供了5种不同的存储模型,或称为存储类

  自动存储:    auto              局部变量

  静态存储:    static             局部变量、全局变量

  寄存器存储: register          使cpu调用数据更快

  外部存储:    extern           用于声明(当某个类时在别的文件中定义的)

  关键字:       typedef

 

  存储类描述的角度: (1) 作用域:是否在该文件在(函数)起使用。

             (2) 链接类型:能不能在别的文件中被使用。

             (3) 存储期:生存时间。

  作用域:描述了程序中合法访问一个标示符的区域。e.g 代码块作用域(别的代码块无法使用);文件作用域(整个文件起作用,是全局变量)。

  存储期:静态存储期、自动存储期、动态存储期(手动开辟malloc,手动释放free)。

  

 

八:内存管理 malloc和free函数

  (1)void *malloc(size_t num);

      void  free(void *p);

  (2)p1 = (int *)malloc(sizeof(int));申请整型空间。

      p2 = (int *)malloc(sizeof (int)* 10); 申请一个数组空间,返回数组首地址。

  (3)malloc申请的是一块连续的内存,有时可能会比所申请的空间大。有时会申请不到内存,返回NULL

      mallco返回值的类型是void*, 所以在调用malloc时要显示的进行类型转换,将 void* 转换成所需要的指针类型。  

 

九:结构体大小对齐

  (1)一个结构体大小,必须能够被结构体内最大的M值整出。

  (2)若某一个类型的M值大于机器长度(32位下为 4 byte),则对齐的M值为机器长度。

posted on 2014-04-01 01:52  目涩雨前  阅读(191)  评论(0)    收藏  举报