注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

@fc_lamp

关注Web应用解决方案MySql/PHP/Python一盏名为"飞川"的灯~

 
 
 

日志

 
 

指针,字符串,数组  

2010-06-23 15:23:00|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
指针,字符串,数组
#include<stdio.h>
/**指针,字符串,数组**/
main(){
char s[8] = "abcdefgh";
char *p;
int i;
for(i=0;i<8;i++){
printf("%c%p\n",s[i],&s[i]);
}
printf("Here is the pointer printf:\n");
p = s;/**取得数组首地址,注意P前面不能再加*,s前面不能再加&**/
for(i=0;i<8;i++){
printf("%c%p\n",*(p+i),(p+i)); /**打印出变量值和变量的地址**/
}
getch();
}

/*********************以上代码说明**********************************/
/****
? 1??
在C语言中,数组名就是该数组首元素的地址(即 p = &s[0])
另外对于数组,可用 p++(指针变量运算)来访问数组里的元素的原因在于:数组中的各个元素在内存中是连续存放的。

?? 2? 关于指针变量
定义:? 指针变量是存放变量地址的变量。(1 存放的是地址值? 2 它自己也是变量)
【存储类型】数据类型 *指针变量名【=初始值】? 其中:【存储类型】???? 有:register,static,exten,auto?
指针变量的引用
一旦指针变量指向了某个变量的地址,就可以引用该指针变量了。
涉及两个运算符:?????
1 & 取地址运算符?? eg :? int i; int *p = &i;
2 * 指针运算符? :用来表示指针变量所指的变量,什么意思是呢?
int i;
int *p = &i;
*p = 2;? 这里(*p = 2 )即相当于i = 2
涉及两种方式??? ???????
指针变量名?? ---------? 代表所指变量的地址? (也就是说当要指针变量存放某另一变量的地址值时,直接 类于这样 p = &a,,当在变量a必须在指针变量之前定义)
* 指针变量名 --------? 代表所指变量的值????? (也就是说当要让指针变量来操作某另一变量所正真拥有的值时,类于这样 *p = 3)
???? 3 特别说明
被赋值的指针变量前不能再加"*"说明符,如写为“ *p = &a”是错误的。
那么,
int i;
int *p = &i;? 此处*号仅仅表明变量p是一个指针变量,并不是取内容运算。
*p = 3;??
相当于:
int i ;
int *p;
p = &i;
*p = 3;

关键在于,指针变量本身就是变量,只不过它里存放的值是某另一变量的地址而已.
定义: int i; int *p;
指定地址: p = &i;
操作变量i里的值? *p = 3;
另外:要打印出变量的地址的打印格式为: printf("%p",&a);
**/
  评论这张
 
阅读(152)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017