C语言入门之--指针
来源:互联网 发布:钢铁力量6级天炉数据 编辑:程序博客网 时间:2024/05/17 08:08
C语言入门之–指针
本文简单讲解一下C语言最重要的核心之一——指针:
存放地址的变量称为指针变量。指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址。
假设在程序中声明了1个int型的变量a,其值为68。系统为变量a分配的首地址为0X65FDF4H,p=a是存放变量a地址的指针变量,即p=a中存放的值为0x065FDF4H。
对变量a的访问有两种方式:一是直接按地址0x065FDF4H找到a的存储单元,从而对变量a进行访问;二是按系统为p=a分配的地址先找到p=a,然后根据pa的值(即变量a地址0x065FDF4H)找到变量a在内存中的存储单元,从而对变量a进行访问。对于前一种访问方式称为直接访问方式,后一种访问方式称为间接访问方式。
如果一个指针变量存放的是某个对象的地址,则称这个指针变量指向该对象。在C++程序设计中,指针变量只有确定了指向才有意义。
下面简单写一段关于指针的C语言代码,以让大家更好的理解其含义:
int main()
{
int a; //给变量a分配一个地址空间
int *b; //定义一个指向int变量的指针,但是现在b不指向任何地址空间
b = &a; //给指针变量b赋值为指向变量a所属的地址空间
//现在 a 与 *b 就同属于同一个地址空间了,操作a就是操作 *b,反过来,操作 *b 就是操作a
*b = 10;
printf(“%d”,a); //输出结果为10;
a = 100;
printf(“%d”,*b); //输出结果为100;
//可以自行测试一下。
}
对于指针,可以用在未知数组长度情况下,这种情况对于C语言处理数组来说十分方便:
int main()
{
int *a; //指向数组的指针
int N; //N为数组的长度
int i,j;
scanf(“%d”,&N); //输入数组长度
//依次输入数组元素
a = (int * ) malloc (N * sizeof(int));
foiusheiuhwefw
for(i =0;i< n;i++)
//scanf(“%d”,&a[i]);
scanf(“%d”,a++);
//两种方法都可以,推荐使用第二种。
}
这个是指针的简单应用,希望对于入门C语言指针的同学都能理解
指针的简单的应用。
更多详情请点击:
(http://blog.csdn.net/sinat_27706697/article/details/47856491)
浏览器兼容
- 目前,本编辑器对Chrome浏览器支持最为完整。建议大家使用较新版本的Chrome。
- IE9以下不支持
- IE9,10,11存在以下问题
- 不支持离线功能
- IE9不支持文件导入导出
- IE10不支持拖拽文件导入
- C语言入门之--指针
- C语言入门之指针用法教程
- c 语言入门指针
- C语言指针入门
- C语言指针入门
- C语言 指针入门
- C语言入门-指针入门
- C语言入门之指针的慨念
- C语言入门之多维数组的指针变量
- c语言入门之项目1.3——指针变量
- C语言之指针
- C语言之指针
- C语言之指针
- C语言之指针
- c语言之指针
- c语言之指针
- C语言之指针
- C语言之指针
- 【OpenGL】OpenGL系列——05像素操作
- ZooKeeper 故障恢复
- 深度学习入门帖子,转自知乎,也希望能与大家共享
- C++求斐波那切数列及前n项和
- 哈希表及处理冲突的方法
- C语言入门之--指针
- List和tuple
- 关于Android中图片大小、内存占用与drawable文件夹关系的研究与分析
- es搜索引擎的使用
- 【OpenGL】OpenGL系列——06纹理映射
- Android动画-View动画的使用场景
- lua之基本函数
- 实现web启动时加载指定方法
- 【OpenGL】OpenGL系列——07帧缓存操作