C语言指针运算
指针运算
指针可以加减运算,但不可以乘除运算。
在指针中 p++ 并不是加一,而是以素的值为单位加一,指向下一个单位,加多少字节 要看类型是什么。
在 指针变量名字前面加* 比如(*p) 反向得到*p指向元素的值。
例子1:
char msg[]="hello"; char* p=msg; while (*p != '\0') { printf("%c\n",*p); p++; }
用指针遍历数组
创建一个char类型的数组并初始化赋值“ hello ”
创建一个指针遍历 p 存储数组的首地址(因为指针数组的特殊 所有不用&符号取地址也可以)
whlie循环 如果 *p 不等于 \0 就一直循环
以字符的形式打印 *p 所指向元素的值
p++ ( 在指针中不是加一,而是跳到下一个元素 )
形成循环一直遇到\0才结束循环
例子2:
int marks[]={70,80,95,65}; int* p=marks; printf("%d\n",*p); p++; printf("%d\n",*p);
创建一个int类型的数组初始化并赋值{70,80,95,65}
创建一个int类型的指针变量 p ,把数组的首地址赋值给p(指针数组中可以不用加&符号取地址)
以十进制的形式打印 p 所指向元素的值;
p++ 以元素为单位加一(因为指针类型是int类型,所有一个元素等于4字节)
以十进制的形式打印 p 所指向元素的下一个值;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!