C语言指针

1.什么是指针

在C语言中每个字节都有地址用来与其他数据区别,程序中每个变量有一个或者多个字节,例如I有两个字节 第一个字节的地址是1000,第二个是1001,所以I的地址是1000.

总体来说指针就是地址,指针变量就是存储地址的变量。

2.声明及初始化。

int *i;

表示i指向int类型的地址。

初始化完成后

假设有int a =1;

i = &a;

这样就将I指向了a,用*i就可以对a进行赋值。

注意不能对初始化的指针直接赋值,这样会造成不可估计的错误。

3.指针的用途

指针与数组的关系。

了解到数组在内存中是怎么存储的就不难理解如何将指针与数组结合了。

对于一个一维数组a[10],数组a中的10个元素呈线性排列在内存中

a的地址为a[0]的地址,令p = a;

这样就将p指向了a数组的头部。方便用P对数组进行操作

如p+3,为a[3]的地址。

有一个知识点

*p在二维数组里表示某行的数组。 (*p)[i]表示该行第i列的数组。

原文地址:https://www.cnblogs.com/Zero-0/p/11222237.html