c point

来源:互联网 发布:js confirm 禁用x 编辑:程序博客网 时间:2024/06/07 18:20

指针

2015年6月21日

17:53

什么是地址:说白了地址就是一个数字用来标示内存的,也就是用来给内存编号的

#include<stdio.h>

int main()

{

int*p;

inta[4]={1,4,23,5};

p=&a[0];

printf("%d,%d",*p,*(p+1));

}

在这个例子中

&为地址运算符,当后跟一个变量名时,&给出该变量的地址

Int *P;

p=&a[0];

则说明

p为指针变量,被赋予a[0]的地址

*为间接运算符

当后跟一个指针名或地址时,*给出存储在被指向地址中的数值

所以,*p则给出a[0]的数值,*(p+1)则给出a[1]的数值

#include<stdio.h>

int main()

{

char*p;

inta=97;

p=&a;

printf("%c",*p);

}

在这个例子中,p是指向一个字符变量的指针

当a的地址赋予p时

*p给出存储在被指向地址(即为a的地址)中的数据…………

97

char *p;说明p为指向字符的指针

不过因为p指向的是字符变量

因此

编译器a地址中的数据当作字符来识别,即ASCII码,当输出为字符时,97='a'

Inta=97,*p;

p=&a;

解释:内存中为a和p开辟两个空间,并为其分配好地址,

当p=&a时,p空间中存储的是a的地址

0 0