当前位置:网站首页>c语言语法基础之——指针(字符、一维数组) 学习
c语言语法基础之——指针(字符、一维数组) 学习
2022-06-26 09:33:00 【坦桑尼亚奥杜威峡谷能人】
指针理解:
- 指针也是一个变量;只能装地址,不能装常量;
- 指针一般用p、q、m、n 来表示,不用b表示;
- 指针的类型与它指向的变量的类型一致;
- 指针运算符: * 、 & ( * 代表指针;& 代表地址 )
int 占内存2个b
float 占内存4个b
普通变量指针

int a=3,b=4,d;
int *b=&a; // * 代表指针;& 代表地址
int *b=5; // 会报错,因为只能装地址,不能装常量
printf("%d",a);
printf("%d",*b); //要用到a的值得话,用 *b ; b 是 a 的指针;b 是 a 的地址;*b 表示该指针指向的变量的值
printf("%d",b); //要用到a的地址得话,用 b ,内存地址是个十六进制值;计算机内存一般以16进制来表示。b 表示该指针指向的变量的地址
int c=*b+1; // ;
printf("%d",c);
p1=&a; // 不能是 *p1=&a ,会报错
p2=&b;
d=*p1+*p2;
p2=&a;
p=&(a+1); // 错误写法
打印出:
3
3
22316
4
// 定义指针的两种方式
int a, *p; // 一
p=&a;
int a, *p=&a; // 二
指针版最大数:
int main(int argc, char *argv[]) {
int a,*p=&a,i,max=0,*p1=&max;
for(i;i<10;i++){
scanf("%d",p);
if(*p>*p1){
p1=p;
}
}
printf("最大数是:%d",*p1);
return 0;
}
数组变量指针;
p指向谁的地址,此时就替代谁来操作;
注意点:
数组名本身是特殊的指针,是个常量,不能参加运算,比如:
int a[]={1,2} 、char a[]=“Hello W”
a --> 数组名本身,默认是数组第一个元素
指针p是个变量,比如:
*p=“Hello W”
int *p,i;
int a={
1,2,3,4,5};
p=a;// *p=a[0]=1
p++; // 2
p=a+4;
printf("%d", *p); // 5 主要看指针指向哪,移到哪就代表哪个地方
p--; // 4
main() {
// 斐波那契前12项之和 指针版
int *p,sum=2;
int a[12]; // 一般都是12个元素;10、11 也可以,但是9就不行了,因为下边有一句*p=*(p-1)+*(p-2),指针是可以动的,这里可以扩充两个元素
p=a;
*p=1;
printf("第一项是 %d",*p);
p++;
*p=1;
printf("第二项是 %d",*p);
p++; // 需要定位到从下标2开始,也就是第3项开始 ;或者for括号里写 p=a+2
for(;p<=(a+11);p++){
// p<(a+11) 也可以写成 p<=a+11
*p=*(p-1)+*(p-2);
printf("\n%d",*p); // a[i]
sum=sum+*p;
}
printf("\n斐波那契数列前12项和=%d",sum);
return 0;
}
指针与数组的关系:
二维数组一般用保留 i 的方式去处理;
一维数组用哪种方式都行。
边栏推荐
- 2021-11-29 quintic polynomial of trajectory planning
- SQL 函数
- jz2440---使用uboot烧录程序
- Differences between VI and vim and common commands
- install ompl.sh
- 2021-11-29 轨迹规划五次多项式
- Abnormal record-23
- LeetCode 0710.黑名单中的随机数 - 预处理实现O(1)取值
- Optimization of power assisted performance of QPM suspended window
- Explained: A Style-Based Generator Architecture for GANs (StyleGAN)
猜你喜欢

【CVPR 2021】Joint Generative and Contrastive Learning for Unsupervised Person Re-identification

Badge series 7: use of codacy

Several connection query methods of SQL (internal connection, external connection, full connection and joint query)

The most complete and simple nanny tutorial: deep learning environment configuration anaconda+pychart+cuda+cudnn+tensorflow+pytorch

There is a strong demand for enterprise level data integration services. How to find a breakthrough for optimization?

"One week's data collection" -- combinational logic circuit

install opencv-contrib-dev to use aruco code

php提取txt文本存储json数据中的域名

【轨迹规划】Ruckig库的测试

How to view the data mini map quickly and conveniently after importing data in origin
随机推荐
使用递归或while循环获取父/子层级结构的名称
Thinkphp5 manual error reporting
"One week's work on digital power" -- encoder and decoder
2021年全国职业院校技能大赛(中职组)网络安全竞赛试题(1)详细解析教程
【CVPR 2021】DatasetGAN: Efficient Labeled Data Factory with Minimal Human Effort
"One week's work on Analog Electronics" - power amplifier
Several connection query methods of SQL (internal connection, external connection, full connection and joint query)
Optimization of power assisted performance of QPM suspended window
Abnormal record-23
"One week's work on Analog Electronics" - optocoupler and other components
GAN Inversion: A Survey
install opencv-contrib-dev to use aruco code
halcon 光度立体
install ompl.sh
十万行事务锁,开了眼界了。
Spark based distributed parallel processing optimization strategy - Merrill Lynch data
SQL 函数
pcl install
Logview Pro can be used if the log is too large
集合对象复制