【C语言】指针数组访问数值不加*号

前言:兜兜转转,还是得把C语言重新地好好地学一遍。大学的时候就对C语言中的指针感到头疼,后来学了JAVA才对编程有了一点儿的自信心,没想到工作了还是得用到C。逃避了数次,还是没逃过。记录下我最头疼的指针部分。

 

在菜鸟教程学习C语言的指针:https://www.runoob.com/cprogramming/c-pointers.html

刚好碰到了一个很奇怪的点在:指针数组这一块。

话不多说直接上代码:

【C语言】指针数组访问数值不加*号_第1张图片

在这里我钻了牛角尖,好一会儿才走出来。

来,大声和我说出指针的定义:指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。

加*号的目的是去访问地址,举个例子。现在我们的变量p=0x994FF1 (我瞎写的),这个时候你去访问变量P那么他的输出就是0x994FF1这个值,而如果你加了一个*号,那么你访问的就是在内存地址0x994FF1的值。

回到上面的例子中,我在最起初初始化指针数组的时候就给每个数组下标的位置都赋值了,那么我自然就不需要再去通过*号去访问值了。如果采用星号*,就会是这么一个情况:

*names[0]=*Zara Ali 来来来,大兄弟。你给我去内存地址中找个Zara Ali出来。咋了?你不行这样会运行错误?来,你去运行下。内核态不炸算我的~

打完收工闪人~

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