美文网首页
C语言:指针2

C语言:指针2

作者: 灌木丛不怕风吹 | 来源:发表于2018-08-18 20:29 被阅读9次

一、指向数组的指针变量

1、指向数组元素的指针变量

由于数组元素与普通一样,所以定义指向数组元素的指针变量与定义指向普通变量的指针变量完全一样

如:int s[10],a,b;

int b[3][6];

int *p;

p=&a;

p=&s[2];

p=&b[2][4];

2.指向一维数组的指针变量

注:(1)在C语言中规定:数组名代表数组的首地址,而且是一个地址常量

如:int a[10];

int *p;

p=a;<=> p=&a[0]

(2)当指针变量指向数组中的某一个元素时,指针变量加1后指向数组的下一个元素,指针变量减1时指向数组中前一个元素。

如:float a[10];    float *p;

p=&a[4];     则p-3指向 a[1].

(3)当指针变量指向数组时,下运算([])用于数组也可用于指针变量后

(4)若两个指针变量指向同一个数组,则这两个指针变量可以进行大小的比较如:

char s[10];

char *p1=s+3,*p2=&s[7];

则:p1>p2=>0  p1<p2=>1

p1-p2=>-4  p2-p1=>4.

(5)在形参中的数组实际上是一个指针变量,并不是真正的数组,因为该“数组名”的值是可以改变的,而真正的数组名的值是不能改变的。

(6)若形参是数组或指针变量,则在函数中可以通过该形参改变实参的值

3.指向多维数组的指针变量

若a是一个二维数组,则有:

(1)a+i是行指针,即指向的是一整行。若对它加1则指向下一行

(2)*(a+i)和a[i]一样,都是一个列指针即指向的是一个元素

(3)*(a+i)+j和a[i]+j一样,都表示元素a[i][j]的地址。即与&a[i][j]等价

*(a+i)+j     a[i]+j    &a[i][j]

(4)*(*(a+i)+j)、*(a[i]+j)、(*(a+i))[i][j]和a[i][j]一样,都表示元素a[i][j]

相关文章

  • [Swift]结构体指针操作

    C语言的指针操作 在c语言中申明一个变量并通过指针修改该变量的值 a value is 2 c语言操作结构体指针操...

  • C语言05- 指针

    C语言05- 指针 13:指针 指针是C语言中的精华,也是C语言程序的重点和难点。 13.1:指针定义与使用 指针...

  • C语言:指针2

    一、指向数组的指针变量 1、指向数组元素的指针变量 由于数组元素与普通一样,所以定义指向数组元素的指针变量与定义指...

  • C语言指针2

    char * string =“I LOVE china”; 在C 语言中 只有字符变量,没有字符串变量。 cha...

  • 链表代码注意事项

    1、理解指针或引用的含义 比如C语言是指针,就是相当于JAVA的引用 2、警惕指针丢失和内存泄漏 C 语言,内存管...

  • 02-C语言的指针

    02-C语言的指针 目标 C语言指针释义 指针用法 指针与数组 指针与函数的参数 二级指针 函数指针 指针在C中很...

  • C语言指针总结大学霸IT达人

    C语言指针总结大学霸IT达人 C语言的指针是C语言区别其它语言的最主要的特定之一。有了指针,C语言就可以抛开所有束...

  • 带小白学C语言指针

    C语言里指针才是C语言的开始和指针;C语言里基本所有东西都是由指针演变而成; 指针是指向地址的变量,类型就是指针...

  • 说下你对C语言指针的理解

    1、指针就是内存的地址,是C语言中广泛使用的一种数据类型。运用指针编程是C语言最主要的风格之一。 2、C语言允许用...

  • 在Swift中使用C语言的指针

    在Swift中使用C语言的指针 在Swift中使用C语言的指针

网友评论

      本文标题:C语言:指针2

      本文链接:https://www.haomeiwen.com/subject/wloxiftx.html