单片机交流
登录
直播中
周棠亨
7年用户
1008经验值
擅长:可编程逻辑 电源/新能源
私信
关注
[问答]
关于c语言中数组下标的加减平移知识点总结不看肯定后悔
开启该帖子的消息推送
关于c语言中数组下标的加减平移知识点总结不看肯定后悔
回帖
(1)
苏宇樵
2021-10-14 14:50:47
数组下标是从0开始编号的;
当前数组下标就是该元素之前元素的个数。
无论是从从0开始下标,还是从1开始下标,两下标之差是一样的,都表示b比a多了几个元素。
前言:
加法的理解:
a+2= b
表示b比a多2;
减法的理解:
b-2=a;
加减法是数量上多几个,少几个。加几就是多几个,也是指针向后挪动了几个;减几就是少几个,也是指针向前挪动了几个;
数组下标是从0开始的,即数组第一个元素是str[0];
从0开始下标,当前下标值即为前面元素的个数。
数组的长度是数组最后一个元素的下一位的下标length,----->表示之前有length个元素。
for(int i = 0;i
length是数组的长度
pos =0;
pos+=2; //指向下标为2的元素;
pos+=2; //指向下标为4的元素;,数组之前有4个元素;
pos = 4;//数组之前有4个元素;
pos-=2; //指向下标为2的元素;
小结:
数组指针,从起始位置0 ,然后+N,表示指针向后挪动N个位置,数组指针指向了下标为N的元素。同时剩余数组长度就少了N个。
数组指针,从length位置-N,表示指针向前挪动N个位置,数组指针指向了下标为 length-N的元素,同时,剩余数组长度为length-N.
以如下示例 ,给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度分析数组下标:
int lengthOfLongestSubstring(char * s){
int strLen = strlen(s);
int maxLen = 1;
int count ;
char *str = s;
int i,j;
int k = 0;
if(strLen == 0)//字符串为空串
{
return 0;
}
for(i=1;i
{
count = 1; //字符串每次比较,count重新计数
for(j=0;j
{
if(s
==str[j])
{
str = str+j+1;//重复的话,str指向重复字符的下一个字符
k = k+j+1;//k记录str共向后移动的字符数//向后移动的个数==去掉的字符个数
break; //str成为一个新串,重新开始比较
}else
{
count++; //不重复的情况时,计数值++
}
}
maxLen = maxLen>count?maxLen:count;//求最大字符长度//跳出for循环就意味着串比较结束
}
return maxLen;
}
for(j=0;j
{
if(s
==str[j])
{
str = str+j+1;//重复的话,str指向重复字符的下一个字符
k = k+j+1;//k记录str共向后移动的字符数//向后移动的个数==去掉的字符个数
break; //str成为一个新串,重新开始比较
}else
{
count++; //不重复的情况时,计数值++
}
}
上例中的 j
数组下标是从0开始编号的;
当前数组下标就是该元素之前元素的个数。
无论是从从0开始下标,还是从1开始下标,两下标之差是一样的,都表示b比a多了几个元素。
前言:
加法的理解:
a+2= b
表示b比a多2;
减法的理解:
b-2=a;
加减法是数量上多几个,少几个。加几就是多几个,也是指针向后挪动了几个;减几就是少几个,也是指针向前挪动了几个;
数组下标是从0开始的,即数组第一个元素是str[0];
从0开始下标,当前下标值即为前面元素的个数。
数组的长度是数组最后一个元素的下一位的下标length,----->表示之前有length个元素。
for(int i = 0;i
length是数组的长度
pos =0;
pos+=2; //指向下标为2的元素;
pos+=2; //指向下标为4的元素;,数组之前有4个元素;
pos = 4;//数组之前有4个元素;
pos-=2; //指向下标为2的元素;
小结:
数组指针,从起始位置0 ,然后+N,表示指针向后挪动N个位置,数组指针指向了下标为N的元素。同时剩余数组长度就少了N个。
数组指针,从length位置-N,表示指针向前挪动N个位置,数组指针指向了下标为 length-N的元素,同时,剩余数组长度为length-N.
以如下示例 ,给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度分析数组下标:
int lengthOfLongestSubstring(char * s){
int strLen = strlen(s);
int maxLen = 1;
int count ;
char *str = s;
int i,j;
int k = 0;
if(strLen == 0)//字符串为空串
{
return 0;
}
for(i=1;i
{
count = 1; //字符串每次比较,count重新计数
for(j=0;j
{
if(s
==str[j])
{
str = str+j+1;//重复的话,str指向重复字符的下一个字符
k = k+j+1;//k记录str共向后移动的字符数//向后移动的个数==去掉的字符个数
break; //str成为一个新串,重新开始比较
}else
{
count++; //不重复的情况时,计数值++
}
}
maxLen = maxLen>count?maxLen:count;//求最大字符长度//跳出for循环就意味着串比较结束
}
return maxLen;
}
for(j=0;j
{
if(s
==str[j])
{
str = str+j+1;//重复的话,str指向重复字符的下一个字符
k = k+j+1;//k记录str共向后移动的字符数//向后移动的个数==去掉的字符个数
break; //str成为一个新串,重新开始比较
}else
{
count++; //不重复的情况时,计数值++
}
}
上例中的 j
举报
更多回帖
rotate(-90deg);
回复
相关问答
关于
S型曲线
加减
速算法的
知识点
不看
肯定
后悔
2021-10-28
2707
STM32F103
C
8串口中断/接收数据得
知识点
汇总,
不看
肯定
后悔
2021-12-03
1278
关于
PLC的基础
知识
总结
不看
肯定
后悔
2021-09-18
1715
关于
DAY 7--Arduino实作伺服马达的
知识点
不看
肯定
后悔
2021-10-11
864
STM32编程的
C
语言
基础
知识点
汇总,
不看
肯定
后悔
2021-11-25
1411
python中的globals函数
知识点
介绍,
不看
肯定
后悔
2021-06-22
1488
关于
舵机PWM转模拟电压的
知识点
不看
肯定
后悔
2021-10-18
2374
stm32串口的相关
知识点
汇总,
不看
肯定
后悔
2021-11-18
894
关于
TMC5160步进电机驱动芯片的
知识点
,
不看
肯定
后悔
2021-11-02
6134
关于
DS28E39的
知识点
不看
肯定
后悔
2021-06-15
796
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分