C语言指针的入门pointer

博客介绍了指针入门知识,计算机中用16进制数表示内存地址,通过数据类型加*声明指针变量保存地址。同时指出指针常见错误,如声明后未初始化直接赋值、野指针问题以及指针类型错误导致读取值出错等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                   指针的入门pointer

pointer指针,一般计算机中用一个16进制数来表示内存地址。通过使用数据类型加*声明一个指针变量,指针变量只能用来保存内存地址,用取地址符&i 把变量i的地址取出来 用指针变量pointer 保存了起来,此时我们可以说 指针pointer指向了 i的地址。

#include<stdio.h>    
#include<stdlib.h>    
/**
*/
main(){  
       int i = 123;
       //一般计算机中用16进制数来表示一个内存地址 
       printf("%#x\n",&i); 
       //int* int类型的指针变量  pointer指针  指针变量只能用来保存内存地址
       //用取地址符&i 把变量i的地址取出来 用指针变量pointer 保存了起来
       //此时我们可以说 指针pointer指向了 i的地址 
       int* pointer = &i; 
       //int *pointer ; int * pointer   
       printf("pointer的值 = %#x\n",pointer);
       printf("*pointer的值%d\n",*pointer);
       *pointer = 456;
       printf("i的值是%d\n",i);
       system("pause"); 
       } 

* 指针常见错误

    * 声明了指针变量后 未初始化直接通过*p 进行赋值操作 运行时会报错

        * * 未赋值的指针称为野指针(没有对指针进行赋值就对指针进行存取操作)

    * 指针类型错误 如int* p 指向了double类型的地址, 通过指针进行读取操作时,读取值会出错

#include<stdio.h>    
#include<stdlib.h>    
/**
*/
main(){  
         //野指针 (没有对指针进行赋值就对指针进行存取操作)  指针使用之前要初始化 赋给它一个自己程序中声明的变量的地址
         //指针使用的时候要注意 int类型的指针要指向int类型的内存地址, double类型的指针要指向double类型的地址 ....
        
         //如果乱指会出bug 
         int i; 
         double d = 3.1415;
       double* pointer = &d;
       printf("pointer的值=%#x\n",pointer);
       printf("*pointer = %lf\n",*pointer);
       system("pause"); 
       } 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值