C Primer Plus(九) -3指针简介
2016-03-11 16:54
113 查看
关于指针:
1.地址运算符:&
用来读变量的地址
这条语句说:函数在一开始定义了一个变量a,并在内存中赋了值。
当键盘输入了一个数,这条语句就会寻找这个变量在内存中的地址,并赋值。
2.简介:
一般来讲:指针是指一个其数值为地址的变量。
并不是我们所想的那样简单:
pointer ptr;
因为指针指向变量的地址,变量的类型多样,因而指针的类型也应与变量类型一样才对。
所以:
类型标识符表明被指向变量的类型,* 表示该变量为一个指针。
eg:交换两个数:
通过指针,子函数可以操纵上一级函数的变量。
1.地址运算符:&
用来读变量的地址
scanf("%d",&a);
这条语句说:函数在一开始定义了一个变量a,并在内存中赋了值。
当键盘输入了一个数,这条语句就会寻找这个变量在内存中的地址,并赋值。
2.简介:
一般来讲:指针是指一个其数值为地址的变量。
char p; char * fp; fp = &p; //p在这里指的是一个变量,fp则是一个常量,这个常量的值为p的内存地址。
间接运算符(也叫取值运算符)*:用来获取常量fp为地址的变量的值。
char a; char * fa; char b; fa = &a; b = *fa; //在这里,b == a; //fa得到变量a的地址,*fa就把fa为地址的变量取出来,赋值给b。 //所以a == b;
指针声明:
并不是我们所想的那样简单:
pointer ptr;
因为指针指向变量的地址,变量的类型多样,因而指针的类型也应与变量类型一样才对。
所以:
int *fp; char *fa; float *ff;
类型标识符表明被指向变量的类型,* 表示该变量为一个指针。
eg:交换两个数:
void change(int *,int * ); int main(void){ int a = 1,b = 2; change(&a,&b); printf("%d %d",a,b); return 0; } void change (int * a,int * b){ int temp = 0; temp = *a; *a = *b; *b = temp; }
通过指针,子函数可以操纵上一级函数的变量。
相关文章推荐
- 第二套17
- 判断是否为IE浏览器
- Html5 Video 移动跨平台实现
- C#利用反射创建实例
- 分形 递归打印之C5
- 电脑刚才崩了,赶紧先把东西传到CSDN
- 待学习或了解
- codeforces-632A-Grandma Laura and Apples
- Exception raised during rendering: android/support/v4/widget/SwipeRefreshLayout : Unsupported major.
- Spring+WebSocket整合(SSM)
- 克隆虚拟机系统整个文件快照,然后另起建立该系统,产生的IP地址冲突解决办法
- 机器学习实战--naive bayes和logistic Regression
- Android之来电秀实现(二)
- 使用Log4j将程序日志实时写入Kafka(转)
- 软件工程作业 评价软件优点的缺点
- Database事件研究
- jquery获取li中的各项属性值attr
- Android之来电秀实现(二)
- 静默安装oracle后,启动oem报错,解决方法!
- mysql乱码问题