指针的使用之一:初始化

在使用指针时如果出现了错误,第一步我们首先检查指针是否正确的进行了初始化。指针总是指向一个地址的,因此在检查初始化是否正确的时候,
可以关注一下,“=”号的右边是不是一个地址。
指针的初始化主要有两大类方法:
一是给指针变量初始化一个在内存中已经存在的地址;二是通过指针变量申请一块新的内存并赋初值。

接下来从几个方面来详细列出:
一是给指针变量初始化一个在内存中已经存在的地址,常用的有以下几种方法:
1.变量的地址:
int a = 10;
int * p = NULL;
p = &a;
这两句等价于 int * p = &a;
2.地址常量
将指针常量赋给一个指针
如:long p = (long)(unsigned long)0xfffffff0;
3.数组的地址
char ary[100];
char *cp = ary;
4.字符串常量
char *cp = “abcdefg”;

对于一个不确定要指向何种类型的指针,在定义它之后最好把它初始化为NULL,并在解引用这个指针时对它进行检验,防止解引用空指针。另外,为程序中任何新创建的变量提供一个合法的初始值是一个好习惯,它可以帮你避免一些不必要的麻烦。

二是通过指针变量申请一块新的内存即动态内存分配
1.采用malloc函数与free函数,这时需要包含<stdlib.h>

  • 16
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值