数组指针一道题目分享
数组 分享 指针 题目 一道
2023-09-11 14:17:19 时间
#include<stdio.h> #include<string.h> int main(){ char a[8]="abcdef",b[8],p=a+3; while(--p>=a){ strcpy(b,a); } printf("%d",strlen(b)); return 0; }
结果为 6
因为: p=a+3 a为数组的首地址不是 数组元素的首地址,所以+3 实际上跨越了 多个地址空间解释为:sizeof(a)+3
= a[6]+3
知识点:
a: 数组首地址
&a : 数组元素首地址
&a【0】:数组元素首地址
相关文章
- javascript 判断变量是否是数组(Array)
- Java实现 LeetCode 523 连续的子数组和(ง •_•)ง
- 不使用循环使用递归得到数组的值得求和
- Python实现字符串与数组相互转换功能示例
- ECMAScript 6 -- 数组的解构赋值
- Leetcode.1248 统计「优美子数组」
- LeetCode-1640. 能否连接形成数组【数组,哈希表】
- checkbox中jQuery对数组和对象的操作
- Leetcode 2190. 数组中紧跟 key 之后出现最频繁的数字(可以,一次过)
- 数据结构与算法_05 _ 数组:为什么很多编程语言中数组都从0开始编号?
- js数组倒叙
- JavaScript数组的常用方法总结:遍历,复制,反转,排序,添加,删除(前端常见面试题必考必问