赞
踩
初学指针,首先了解数据在内存中是怎样存储怎样读取的;
同时理解变量的指针就是变量的地址;
char | 1 |
---|---|
short(short int) | 2 |
int | 4 |
long(long int) | 6 |
long long | 8 |
float | 4 |
doublt | 8 |
例 int a=4;
系统在编译时,已经对变量分配了地址;
过程:变量a——地址
形象表示:回家拿钥匙直接掏出钥匙回家;
#include <stdio.h>
int main()
{
char *p;
char ch='0';
p=&ch;
printf("%d",* p * * p);
return 0;
}
开始逐一分析:
#include <stdio.h>
int main()
{
char *p;//先定义一个指针变量
ch='0';//ch的值是字符0所对应的ASCII码的值
p=&ch;//在这里p指向的地址为ch的地址
printf("%d",* p * * p);//*p**p等价于(*p)*(*p)
像这样直接告诉家在哪,钥匙在哪,直接一指向一对应就得出结果了;
例 scanf("%d",&a);
调用函数时,把变量的地址传给函数scanf函数,首先把地址保存到一个单元中然后把从键盘接收的数据通过所存储的地址保存到a变量中;
过程:数值——地址——变量a
形象表示:回家拿钥匙,钥匙放在隔壁房间里,需要向隔壁房间拿出钥匙,再打开自家门;
#include <stdio.h>
int main()
{
char *p;
char ch='0';
p=&ch;
*p=*p+1;
printf("%c,%c",*p,ch);
return 0;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。