[关于指针]
&地址运算符*指针运算符或间接寻址运算符
1.指针的一个很重要的用途:作为实参传给函数.
2.注意下面两条语句:
a=*p++;a=(*p)++;
由于*和++运算符属于同级,是右结合的。所以第一个相当于“a=*(p++);”又因为++运算符位于变量p的后面,所以是后缀运算,,所以a=*p++;相当于a=*p;p=p+1;
而第二条语句a=(*p)++;相当于a=*p;*p=*p+1;
3.数和数组的指针
在函数的形参和实参中,
如果一个数要做指针传递,
形参voidFuc(void*a);实参Fuc(&a);
而数组时voida[N];
形参voidFuc(voida[]);实参Fuc(a);
4.字符指针
以字符数组和字符指针对比
charstr[10]={"china"};char*ptr="china";
str代表字符串在内存中的首地址。
ptr代表指向字符串"china"首地址的一个指针。ptr==str;
对于字符指针赋值,必须让指针指向一个数组的首地址。
对于字符数组的首地址,是常量不能改变,用*(str+i)方式引用,对于字符指针可以改变可以通过*(ptr+i)或者*(++ptr)方式引用
5.二维数组的指针引用
charstr[5][5],*p;
对于二维数组中的某个值str[2][2]的引用可以直接写成cout<<*(*(str+2)+2);用二维数组名直接引用。
也可以采用
p=a[2];*(p+2);方式
或者可以
p=*str;*(p+2*5+2)
**注意一点,不要误写成p=str;这样就成了第一行的首地址了,而不是第一行的第一列的值的地址。。
**还有一种用[行数组指针]的写法
char(*p)[5];p=str;这样p就和数组名str一样可以用cout<<*(*(p+2)+2)方法引用了
str[0]==*str==&str[0][0];
[关于二维数组指针的误区]
a[5][5];
要吧a和a[0]区分开,虽然都是首地址,但是指向的对象不同。a[0]指的是二维数组中一维数组的首地址,对它进行寻址运算得到的是一个数组值,即a[0]数组的第一个元素的值a[0][0].可是a是一个数组的名字它指向的是所属元素的首元素。对他寻址得到的是首元素a[0][5]是一个一维数组。所以二者不可混淆。
行数组指针定义成char(*p)[5];它代表的是*p有5个char型的元素分别指向(*p)[0],(*p)[1],(*p)[2],(*p)[3],(*p)[4],即指向5个char型数组

哈哈哈 子弹越打越多了
哈哈哈 子弹越打越多了
《刺客信条: 黑旗 记忆重置》回应DLC比本体贵: DLC非必须
《刺客信条:黑旗 记忆重置》的首发表现可以说不错,Steam玩家峰值直逼10万。然而Steam的玩家评价却“褒贬不一”。除了游戏宣发问题外,还有一个原因就是总价超越本体的大量DLC,让玩家觉得育碧“吃相难看”。《刺客…当臭猫扶贫神秘嘉豪号主!
原神: 7.0奥黛塔定位反转! 并非木偶专属, 冰神设计成最大悬念
各位旅行者,今天咱们来聊聊原神7.0版本里一个让人意外的角色调整——奥黛塔的定位变化。千万没想到,原本大家都以为奥黛塔是木偶的专属队友,结果根据她的机制和定位来看,这是一位同时拥有星超导和星扩散的双机制…哪辆车能不被28吨钢卷压成废铁? 哪辆车能不被28吨钢卷压成废铁?
原神: 新超导木偶队顶配配装攻略! 告别刮痧与充能卡顿
很多玩家都有这样的困惑,同样是木偶新超导队伍,部分玩家用四星队友就能打出高额满配伤害,而自己配齐五星阵容,却始终面临伤害刮痧、充能卡顿的问题。其实核心差距并非角色配置,而是多数玩家没有掌握版本更新后,…