• C面试复习笔记


    一,指针。

    1,常见的定义形式。

    int *p;  指向一个指向整数的指针变量

    int *p[10]; 10个指针组成的指针数组

    int (*p)[10]; 指向一个数组的指针

    int *p(); 定义p为返回一个指针的函数,该指针指向整形数据

    int (*p)();定义p为指向函数的指针,该函数返回一个整型值

    int **p;定义p为一个多级指针变量,它指向一个指向整数的指针变量

    2,常见的等效操作。

    取地址运算符:&

    间接访问运算符:*(运算对象为地址,用来取该地址存的值)

    若有int a[10][10];int (*p)[4];则下列表达式等效:*(*(p+i)+j), *(p[i]+j),(*(p+i))[j],p[i][j]。

    3,指针函数和函数指针。

    int (*p)();是一个变量声明,表示p是一个指向函数入口地址的指针变量(函数指针),该函数的返回值是整形数据,(*p)两边的括号不能少。

    int *p();则是函数声明,表明p是一个指针函数,其返回值是一个指向整形数据的指针,*p两边没有括号。作为函数的声明,在括号内最好写入形式参数,没有形参时写入void,这样便于与变量什么相区别。

    二,其他基本常识。

    1,sizeof(对象):测定某一种类型数据所占多少byte(8bit)的运算符,其运算对象可以是任何数据类型的变量以及表达式。

    2,typedef:对用户数据取别名。

              typedef int INTEGER;//给int型号取个别名,叫做INTEGER

              typedef char NAME[20];//给char[20]取个别名,叫NAME

    3,宏定义。

        #define 标识符 替换文本

        #define 宏名(形参表)  替换文本

         扩展:带参宏定义与函数的主要区别:

                  (1)定义方式不同。

                  (2)参数性质不同。宏参不必说明类型,也不分配空间,只是预处理时进行简单的文本替换。

                  (3)实现方式不同。宏是预处理阶段完成,不占程序运行时间。

                  (4)参数传递不同。带参宏不计算实参的值,而只进行简单的文本替换。而函数则先计算表达式的值,然后传给形参。

                  (5)返回值不同。宏定义无返回值;函数可有返回值。

        

        

  • 相关阅读:
    云栖大会2020
    云栖大会2020
    云栖大会2020
    《利用知识图提高抽象摘要的事实正确性》
    onkeyup="this.value=this.value.replace(/[^1-9]D*$/,'')"
    javamail发送excel附件
    model.org.orgId
    window.parent.returnValue
    删除了用户的org和role
    window.top.popForm()表单以窗口的形式弹出
  • 原文地址:https://www.cnblogs.com/devinwu/p/CReview.html
Copyright © 2020-2023  润新知