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不支持拖拽文件导入