zoukankan      html  css  js  c++  java
  • 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)返回值不同。宏定义无返回值;函数可有返回值。

        

        

  • 相关阅读:
    Python基础
    pip install psycopg2出现python setup.py egg_info failed with error code 1 in /tmp/pip-build-YtLeN3/psycopg2错误处理
    Python基础
    C语言基础
    benchmarks
    用 MuGo 搭建 Go Engine 在 KGS 对战
    GPU
    linux 杀掉僵尸进程 (zombie process, defunct)
    CMakeLists.txt 语法
    软件列表(按字母排序)
  • 原文地址:https://www.cnblogs.com/devinwu/p/CReview.html
Copyright © 2011-2022 走看看