C语言---指针

一.初始指针
1.简介:指针是一个值为内存地址的变量(或数据对象)
2.声明及初始化指针变量:
(1)基本用法:数据类型指针变量名。例如intptr_num; charptr_name; floatmoney_ptr; doublep_price;
注意:在头文件中,NULL被定义为常量int
ptr_num=NULL;指针的初值设为空,表示指针不指向任何地址。
3.取地址符:
int num=1024;
int*ptr_num;
//取num变量的地址赋值给ptr_num
ptr_num=#
实例:

int main()
{
    int num=9;
	int *ptr_num=#
	//%p指针占位符,%x 16进制占位符
    printf("num变量的地址是:%p\t%x\n",&num,&num);
    return 0;
}

4.间接运算符:

int main()
{
    int num=9;
    int*ptr_num=#
    //头疼点:指针的地址
    int*ptr_num2=&ptr_num;

	//%p指针占位符,%x 16进制占位符
    printf("num变量的地址是:%p\t%x\n",&num,&num);

    printf("\n指针ptr_num的地址是:%p\n",ptr_num2);
    //如何通过指针的指针,访问到原指针指向的空间?
    printf("\n原空间num对应的值是:%d\n",*ptr_num2);
    
    
 /*
    //使用指针修改变量值
    *ptr_num=9999;
    printf("*ptr_num对应的值为:%d\n",*ptr_num);
    */
    return 0;
}

二.指针小结
1.指针同样是一个变量,只不过该变量存储的是另一个对象的内存地址。
2.如果一个变量存储另一个对象的地址,则称该变量指向这个对象。
3.指针变量可以赋值,指针的指向在程序执行中可以改变。即指针p在执行中某时刻指向变量x,在另一时刻也可以指向变量y。
注意:1.指针变量的命名规则和其他变量的命名规则一样。
  2.指针不能与现有变量同名。
3.指针可存放C语言中的任何基本数据类型、数组和其他所有高级数据结构的地址。
4.若指针已声明为指向某种类型数据的地址,则它不能用于存储其他类型数据的地址。
5.应为指针指定一个地址后,才能在语句中使用指针。

你可能感兴趣的:(C语言)