Linux下C编程

来源:Linux认证    发布时间:2012-11-10    Linux认证视频    评论

    三。指针、函数及自定义数据类型

    a)      指针变量

    Int *p1,*p2;

    Ing *pn;

    Pn=&n;

    b)      指针运算

    Int a[5]={1,2,3,4,5};

    Int *p1 = &a[1];

    这样指针p1就指向数组a的第二个元素

    c)      指针类型转换

    首先定义指针变量,然后强制转换

    Char *pc;

    Int *pi;

    Pi=(int *)pc;

    d)      指向指针的指针

    Int **pp;

    e)      函数声明

    Int max(int,int);

    Int max(int x,int y)

    {

    Int t;

    T=(x>y)?x:y;

    Return t;

    }

    f)       局部变量

    Int func()

    {

    Int I;

    }

    全局变量

    Int x;

    Int main()

    {

    }

    g)      变量的静态存储和动态存储

    全局变量即是静态变量,定义时就分配存储单元一直到程序结束

    函数的形式参数即是动态变量,使用时才分配存储单元。

    自动变量auto、外部变量extern、静态变量static、寄存器变量register

    默认都是自动变量

    Auto int I; auto可以省略

    外部变量即已用其他源文件中的变量

    静态全局变量表示不能被其他源文件使用,与extern相反。

    静态局部变量定义在函数内,但在函数结束后会继续驻留内存,并影响函数的下次调用。

    寄存器变量是放在cpu寄存器内,只有自动局部变量可以定义为寄存器变量。

    h)      外部函数 可以被其他源文件调用

    Extern int add()

    {

    }

    内部函数只能被本文件的函数调用

    Static int add()

    {

    }

    i)        函数指针

    Void (*p)(int x)

    j)        结构体

    Struct name

    {

    Int id;

    }

    定义结构体

    Struct student a;

    直接定义结构体变量

    Struct

    {

    Int id;

    } a;

    结构体初始化

    Struct student a = {

    23,

    };

    结构体指针

    Struct student *p;

    结构体引用

    a.      id

    a->id

    (*p)。id

    p->id

    嵌套结构体

    Student.address.zipcode=200000;

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答