1.指针
int a=10;
int * p;
p=&a;
也可以直接 int *p=&a;
//*表示声明一个指针变量,&是取址符号,返回a的内存地址
//可以通过解引用的方式来使用指针
*p=1000
//上面这行的作用相当于a=1000,因为p是指向a的指针,其保存了a的内存地址。通过解引用(*p)的方式可以直接访问或修改a的值。
一个指针变量在32位操作系统占4个字节,64位系统占8字节。
2 空指针
指向内存地址0的指针为空指针,作用是用来初始化指针。内存0~255为系统专用的,不允许用户访问。
int *p=NULL;
3 野指针
指向非法内存空间的指针变量
4.结构体指针可以通过操作符->来访问结构体的属性。
student *p=&stu1
a=p->age
a获得的是结构体变量 stu1的age属性,即stu1.age
5.冒泡排序函数
void bubblesort(int *arr, int len)
//int *arr, int len也可以写成int arr[], int len
{
for i=0, i<len,i++
{
for j=0,j<len-i-1,j++
{
if (arr[i]>arr[i+1])
{
int temp=arr[i];
arr[i]=arr[i+1];
arr[i]=temp;
}
}
}
}
网友评论