指针
指针就是地址,是一个常量;指针变量是变量,变量中存放的值是一个指针。
指针变量和普通变量一样,仍然遵循先定义、后使用的原则。定义的一般形式为:
「存储类型」 数据类型 *变量名;
(1)* 是指针说明符,表明后面的变量名为指针变量。
(2)数据类型是指该指针变量所指向变量的数据类型,称为指针变量的基本类型。默认为 unsigned long int 型。
与指针变量密切相关的运算符:“&”、“*”(取地址运算符、指针运算符)
* 指针运算符 也称为间接运算符,表示间接访问指针变量所指向的内存空间。
例: *px = 5; 是将5存入到px所指向的内存空间中。(与x = 5;的功能相同)
指针变量的使用
指针变量和其他变量一样,在程序运行过程中其值是可以改变的。但是指针变量在使用前必须要赋值,一个指针可以通过不同的渠道获得一个确定的地址值,从而指向一个具体的内存空间,以保证该应用程序通过该指针间接访问的内存空间确实具有存取权,否则会导致程序运行时的错误或者逻辑错误,甚至造成死机。也要注意,只能将地址赋值给指针变量,而不是任何其他数据。
二级指针
一级指针中存放的是一个普通变量的地址,二级指针中存放的是一个一级指针变量的地址,也就是说,二级指针是指向指针的指针。定义形式如下:
数据类型 **指针变量名
结构体部分
结构体是一种构造类型,就是自定义类型。所以结构体的使用要分为三个步骤:
定义结构体类型
定义结构体变量
使用结构体变量以及结构体成员
结构体类型定义的一般形式为:
struct 结构体名
{ 成员列表 };
注意:
结构体类型可以嵌套,即一个结构体类型中的成员可以是其他结构体类型。
结构体类型必须以分号“;”结束。
struct定义的数据类型是自己定义的类型,定义之后与系统中预定义的一样。
结构体类型定义可以在函数外,也可以在函数内。如果定义在函数外,则定义后的程序均可以使用此结构体类型;如果定义在函数内,只能在该函数内使用。
结构体变量的定义
(1)先定义结构体类型,在定义结构体变量。形式为:
struct 结构体名 变量名列表;
(2)在定义结构体类型的同时定义结构体变量。形式为:
struct「结构体名」
{
成员列表;
}变量名列表;
本文详细介绍了指针的概念,包括指针的定义、运算符及使用注意事项,强调了指针变量赋值的重要性。此外,还探讨了二级指针,指出二级指针是用于指向指针变量的指针。接着,文章转向结构体,讲解了结构体的定义、使用步骤及结构体变量的声明,并提到了结构体的嵌套和结构体成员的访问。最后,文中提醒读者在使用指针和结构体时要确保内存访问的安全性和合法性。

被折叠的 条评论
为什么被折叠?



