#C语言#指针与数组

分类: 计算机相关 |
指针是一种保存变量地址的变量。
1.指针与地址:p=&c;将把C的地址赋值给变量p,我们称p为指向c的指针。地址运算符&只能应用于内存中的对象,变量和数组元素。
*一元运算符是间接寻址或者间接引用运算符,当它*作用于指针时,将访问指针所指向的对象。
2.指针与函数参数:c语言中,是以传值的方式将参数值传递给被调用函数。
3.指针与数组:指针编写程序比数组快,但是指针理解起来稍微困难。int
a[10], int *pa;pa=&a[0];就是将指针pa指向数组a的第0个元素,pa的值为a[0]的地址。pa
=a;那么a[i]就可以写成*(a+i); 但是 a=pa,就是非法的。
4.地址算术运算:将指针,数组,和地址的算术运算集成在一起,是C语言一大优点。0不是有效的数据地址,地址算术运算主要是地址位的加减移动地址。
5字符指针与函数:字符数组以‘\0’结尾,函数中访问字符串也是通过字符指针访问对应字符串的,
6.指针数组以及指向指针的指针:指针数组用来存放指针的数组,指向指针的指针就是把第一个指针的地址存放到第二个指针中,第二个指针就是指向指针的指针。int
i = 5;int *ip1 =
&i;int **ipp = &ip1;
7.多维数组:数组元素按行存储,最右边的下标变化最快。
8.指针数组初始化:char
*a[]={"1","2","43"};
9.指针与多维数组:指针可以不指定每个元素长度,而二维数组是定长的元素长度。
10.命令行参数:main(argc,argv),第一个argc勇于参数计数,表示运行程序时,命令行中参数个数。argv参数向量,是一个指向字符串数组的指针,每个字符串对应一个参数。主要模拟实现对应参数查找问题。
11.指向函数的指针:这种类型的指针可以用来赋值,存放在数组中,传递给函数以及作为函数的返回值等。
前一篇:#C语言#函数与程序结构
后一篇:#C语言#结构