三。指针、函数及自定义数据类型
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;
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。