c语言中指针的使用【一】
来源:互联网 发布:穿校服的意义知乎 编辑:程序博客网 时间:2024/04/29 10:52
指针是c语言中的重要概念,也是c语言的重要特色。使用指针,可以使程序更加简洁。
1.数据在内存中的存储方式:按数据类型给在内存为其分配一定数量的存储单元(字节)。
2.内存单元的地址:内存单元的编号,与变量名对应。
3.内存单元的内容:值
4.变量的直接访问方式:按变量的地址(即变量名)存取变量值的方式。
5.变量的间接访问方式:将变量的地址放在另一个内存单元中,先到另一个内存单元中取得变量的地址,再由变量的地址找到变量并进行数据存取。
变量pointer为指针变量,存放的是变量i的内存地址,我们说pointer指向i的地址。
6.指针的概念:一个变量的地址称为该变量的指针。
7.指针变量:专用用于存储其他变量地址的变量。
指针与指针变量的区别,也就是值与变量的区别。
指针变量的定义:
1.定义方式: 类型标识符 *指针变量名;
2.指针变量的三要素:
指针变量的类型:和其所指变量的类型一致
指针变量的值:另一个变量在内存的地址
指针的名字:起发同普通变量
3.说明
标识符前面的*,表示该变量是指针变量,但是*后才是指针变量的名字。
指针变量赋值:1.指针变量名=某一地址;(&取某一地址符)
2.指针变量名= 另一个已赋值的指针变量
例如:int i,*p,*q;
p=&i;//方式一
q = p;//方式二
指针运算
例如:int *p,i;
char *q,c;
p = &i;q = &c;
p++,q++;
p++,q++;//执行完成后
因为p指向的int型占用两个字节空间(一般情况),自加一后指向1002,而char型占用一个字节,所以q指向2001
比较运算:p>q //为假(使用上面的程序)
int a[10];
int *p,*q;
p = &a[0];//或p=a;
q = &a[9];//或p = a+9;
求p<q,p>q为真为假?
由图可知,p<q为真
总结:两个运算符:
* : 求其后内存地址中的内容
& :求变量的内存地址
下面一个小程序总结
main()
{
int a,b;
int *pointer_1,*pointer_2;
a = 100;
b = 10;
pointer_1 = &a;
pointer_2 = &b;
printf("%d,%d\n",a,b);
printf("%d,%d",*pointer_1,*pointer_2);
}
运行结果是100,10
100,10
用图形表示为:(图中p1,p2分别表示pointer_1,pointer_2)
以下是几个变化:
1.执行语句p2 = &*pointer_1后,变为下图形式,这时,*pointer_1为a,*p2为a,p1 = p2 = &a
2.“&*pointer_1”的含义?
3.(*pointer_1)++相当于什么?
4.*&a的含义?
下一篇:http://blog.csdn.net/qmhlan/article/details/6640481(指针系列)
- c语言中指针的使用【一】
- c语言中指针的使用场合
- c语言中指针的使用场合
- C语言中数组指针的使用
- c语言中关于一维数组的指针访问
- C语言中指针探秘(一)
- C语言 指针的使用
- C语言--指针的使用
- C语言指针的使用
- C语言 指针的使用
- c语言指针的指针使用
- C语言中指针的简易理解与使用
- 在Swift中使用C语言的指针
- 【转载】C语言中指针使用的注意事项
- C语言中指针变量使用时常见的几个问题
- C语言中函数指针的简单使用
- 转-C语言中使用指针与数组的区别
- C语言--指针(一)
- as3 文本类
- magento 后台导出订单同时导出产品信息 代码
- PHP调试程序执行时间
- poj1844 sum
- Myeclipse8.6集成jBPM4.4插件
- c语言中指针的使用【一】
- 将文件转换成二进制,再由二进制转换成文件
- note110728_1
- 描述性格的词语
- 浪涌电路
- 数据概论
- Linux常用命令
- 《hadoop权威指南》读书笔记 2011.7.28 morning 供自己参考记忆
- office單元文本格式轉換成數值格式