如何理解c语言中的指针

我们在使用c语言进行编写程序的时候,就一定会使用上指针,指针的操作是编写程序的一个点。

如何更好的使用指针,将是我们进行更好的书写程序的关键。

这里,小编就分享一下自己在使用c语言编程过程中,对于指针的理解:

1:指针是一个地址,指向的是个类型:

我们知道,c语言中的类型有int,char,bool(这个不常用),一般我们使用int,char就可以满足一般的类型需求的,如果对于变量的长度过大,就是用long ,float,double,关于各个类型使用的的长度问题,可以使用sizeof(int)或者sizeof(long)来查看各个类型,在系统中的小。

而指针就是一个8个字节(64系统)。

2:指针指向的是地址,地址指向的是内容:

我们需要一个变量,来存储地址,这个变量的值是地址,但是我们可以通过修改变量的值,来不断的改变地址,但是,我们如果需要改变该个地址的值的话,就需要,对地址的值进行修改,而不改变地址。

int a = 10;

int *p ;

p = &a;

*p =11;

a=?

这里我们看到,p 是一个变量,我们使用p来存储变量a的地址,这是,我们使用*p对于这个变量进行赋值,那么a的值最后,是多少呢,结果是11,因为我们使用*p赋值,就相当于a=11,赋值效果一样的。

3:指针的指针,是面对于指针的变量:

我们说,指针的指针的时候,就有点不清楚了,到底怎么区分指针和指针的指针呢。

char *p;

char **pr;

pr = &p;

我们这样看就清楚了一点,char *(*pr); *pr是一个存储的值为指针的变量,pr就是存储上个变量地址的变量。整合起来就是,pr是一个存储的值为指针的地址的变量。

这样,我们就基本,对于指针有一个直接的了解了。

(0)

相关推荐

  • 如何理解C语言中的特殊宏

    C语言中宏只是在C编译预处理阶段的一种文本替换工具,编译完成后,其对二进制代码是不可见的,这里我们将介绍几个比较特殊的宏,很常见但是又易忘记. 操作方法 01 x##y 该宏用法表示连接x和y,如果宏 ...

  • C语言中关键字const、volatile、extern的作用

    C语言中关键字const.volatile.extern的作用 操作方法 01 const:被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性.它可以修饰函数的参数.返回值, ...

  • 在C/C++语言中使用正则表达式

    本文所有的内容都来自网络,加上一些个人的理解,不保证正确性,欢迎批评指正 说起正则表达式(Regular Expression),也许有的朋友天天都在使用,比如grep、vim、sed、awk,只是可 ...

  • 如何处理c语言中的段错误信息

    我们使用c语言中进行代码的编写的过程中,最容易出现的是段错误.如何好的找到段错误和解决掉 这个错误,是我们需要面对的问题. 我以前在一家写c语言的公司了.开发底层系统,一般他们使用makefile文件 ...

  • R语言中如何删除数据对象

      R语言中如何删除数据对象 首先需要打开R studio,新建文件脚本,[File]--[New Script]. 然后会发现,global environment这里之前代码留下的数据集非常麻烦, ...

  • 如何快速调整windows10系统电脑中鼠标指针的大小?

    相信很多小伙伴都有在使用windows10系统的电脑,在其中如何才能调整鼠标指针的大小呢?方法很简单,下面小编就来为大家介绍.具体如下:1. 首先,打开电脑桌面左下角的开始菜单,或者直接按下" ...

  • php语言中数组怎么进行去重处理

    我们在编写代码的过程中可能会使用到PHP语言.接下来小编就教大家怎样给PHP语言的数组去重. 具体如下:1. 首先我们将需要去重的数组打印出来,然后我们可以看到数组有一部分相同的值. 2. 接下来我们 ...

  • 如何使用python语言中字符串方法替换子字符串

    跟JavaScript一样的是,replace在python语言中也是替换字符串,但是在JavaScript中只替换一次,而在python语言中是替换所有的相同的字符串.下面利用几个实例说明repla ...

  • 如何使用R语言中的函数绘制正态曲线

    正态曲线是数学中的一种概率统计函数,用于统计分析数据.R语言中也有处理正态曲线的函数dnorm(),可以使用这个函数绘制正态曲线.下面利用一个实例说明这个函数的用法,操作如下: 操作方法 01 第一步 ...