概述
指针变量与指针变量的声明
理解指针的第一步是在机器级上观察指针表示的内容。大多数现代计算机都将内存分割为字节(byte),每个字节可以存储8位的信息。
1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
地址 | 内容 |
0 | 01110110 |
1 | 00110110 |
2 | 11110110 |
3 | 11101110 |
.... | ....... |
n-3 | 01110110 |
n-2 | 00010111 |
n-1 | 10010110 |
int i, j, a[20], b[30], *p, *q;
C语言要求对每个指针变量只能指向一种特定类型(引用类型)的对象:
int *p; //points only to integers
double * q; //points only to doubles
char *r ; //points only to characters
至于引用类型是什么类型则没有限制。
取地址运算符和间接寻址运算符
为使用指针,C语言提供了一对特殊设计的运算符,为了找到变量的地址,可以使用&(取地址)运算符。如果x变量,那么&x就是x在内存中的地址。为了获得对指针所指向对象的访问,可以使用*(间接寻址)运算符。如果p是指针,那么*p表示p当前指向的对象。
取地址运算符
声明指针变是为指针留出空间,但是并没有把它指向对象.
int * p ; //points nowhere in particular
在使用前初始化p是至关重要的。一种初始化指针变量的方法是使用&运算符把某个变量的地址赋给它.
int i, *p;
...
p = &i;
间接寻址运算符
一旦指针变量指向了对象,就是可以使用*运算符访向存储在对象中的内容。例如,如果p指向i,那么可以如下所示显示出i值:
printf("%dn", *p);
指针作为返回值
当给定指向两个整数的指针时,下列函数返回指向两整数中较大数的指针:
int *max(int * a, int *b){
if(*a>*b) return a;
else return b;
}
调用max函数时,用指向两个int类型变量的指针作为参数,并且把结果存储在一个指针变量中:
int *p, i, j;
..........
p= max(&i,&j);
关于程序设计基石与实践更多讨论与交流,敬请关注本博客和新浪微博songzi_tea.
最后
以上就是自信学姐为你收集整理的程序设计基石与实践之C语言指针Point的全部内容,希望文章能够帮你解决程序设计基石与实践之C语言指针Point所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复