Head First C 笔记

嗨翻c语言

1. 入门

  • 何以字符从零起头编号?  

   字符的目录数值表示的是三个偏移量,它代表的是现阶段所引述的字符与第一个字符之间差多少个字符。

  • 单双引号的区分?

   单引号 二个字符,双~ 字符串

  • 字符串字面值和字符数组的区分?

   前面叁个是常量,一旦赋值,无法再修改。

  • Break 和continue?

   break是脱离循环,continue是退出当前巡回何况实行下次巡回。

   break无法用来if语句。

2.积存器和指针

  • 两张存款和储蓄器图

   图一图片 1

   图二                            八个学JAVA时用的图(来源博瑞思创—翁先生)

    图片 2

  • Int *a =5   

    A 是三个指针变量,它保存三个地址,地址中保存叁个int类型的数值5

  • 指南针的成效   

   指针能够幸免别本的发出和分享数据。

  • 指南针疑似多个遥控器,存款和储蓄器疑似一个对开门电冰箱。

图片 3

   存款和储蓄器和指针的图 

  • sizeof(指针) 

*   在34个人中回到4,在六18个人中回到8.*

  • 数组名做指针

*   *

1 int a []={1,2,3};
2 int *b =a;
3 c=sizeof(a);
4 d=sizeof(b);

   c = 3          d = 4/8 (32/64)

   &a == a    &b! = b

  • 指南针的落后   

*     把数组赋给指针变量,指针变量就能够只通晓数组的地点新闻,而不明了数组的深浅。也等于指针错过了一部分音信,称这种新闻错失为退化。*

   数组变量不能够指向其余地点

  • 指针类型

   指针也会有项目,char int  等,首若是在打开指针运算时方可依据指针类型进行更动,比方char类型的指针a ,a+1 存款和储蓄器地址 +1

                                           int类型的~b                 ,b+1 ~ +4

  • 指南针输出

    1 int num[]={1,2,3} 2 printf("%p",num);//地址 3 printf("%i",num[1]);//数值 4 printf("%i",(num+1));//数值 5 6 7 8 char msg="Hello" 9 puts(msg+1)//字符 10 printf("%p",msg)//地址

  • 指南针的加法调换律(来源:百度)

  • 1 int dose[]={1,2,3};

    2 
    3 dose[2] == *(dose+2)            ==            *(2+dose)  ==2[dose]
    4 
    5 只要一个是指针,一个是整形就行。
    

    用指针输入数据

   

1 fgets(food,sizeof(food),stdin);
2 scanf("%4s",food);
3 gets(food);

   安全从高到低

   scnaf遇到空格就能够终止。(亲测有用)

  • card[]   or   *card?
  • 1 card []="qwe";//数组

    2 
    3 
    4 
    5 一下这两个等价
    6 void func(char card[])
    7 {
    8 //card 是指针
    9 }
    

    10 11 void func(*card) 12 { 13 //card 是指针 14 }

    const与字符串常量

   字符串常量都以只读的,不可修改。加了const未来,会在您计划修改const修饰过的变量时编译器报错。

  • 字符串常量和字符数组

    1 char * card="QWE"//不可修改 2 char car[]="BBB"//可修改

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*  *

本文由银河网址发布于银河网址,转载请注明出处:Head First C 笔记

您可能还会对下面的文章感兴趣: