看《彻底搞定C指针》笔记

虽然还不是很明白,但是比以前指针在脑海中的思路更加清晰了

下面是我在看书过程中写的一些东西:

int a[]={1,2}; int *p; 上面的指针是指针变量,而数组名只是一个指针常量 p++,其值不断递增的,即指针值被修改,但是a++是错误的,因为a是指针常量 *(p+i) 指针p的值是始终没有改变的,所以,*(a+i)与*(p+i)是相同的

const int ic=10; const 修饰的ic是不能被修改的,我们称 ic 为符号常量

int i=10; int j=19; const int *p=&i; p=&j;    /*p的值是可以修改的*/ j=37;                   /*这里j不能用*p来代替*/ cout<<*p;  /*输出的是37*/

int const *p; const修饰的是*p,所以*p是常量,而p是指针变量,能被赋值重新指向另一内存地址 如果要使p为常量,*p为变量,应该写为int *condt p;

const int a=10; int *p; p=&a;  /*这样不行,vc下编译错*/ /*const int 类型的a的地址是不能赋值给指向int类型地址的指针p的,否则p岂不是能修改a的值了吗!*/ p=(int *) &a;/*这样的强制类型转换是c所支持的*/

const int *p; const int a=20; p=&a; /*这样是可以的,因为两个类型相同,可以这样赋值,不过a的值无论通过谁都不能修改*/

int a=20; const int *const p=&a;/*既不能通过p修改a的值,p的值也不能修改*/

c语言中函数参数的的传递有:值传递、地址传递、引用传递

void fun(int x,int y) 函数指针变量的申明:void (*f)(int x,int y) ,这样就有一个能指向 fun 函数的指针 f 了; /*这个函数 f 指针变量也可以指向所有其他具有相同参数及返回值的函数*/

转载于:https://www.cnblogs.com/wuyanjun/archive/2013/05/07/3065309.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值