一.堆与堆排序
1.查找最大值最小值,堆排序最快
三.字符串概念
1.字符串结束必须有\0,不然会出现烫烫烫(字符串数组默认比数组长一个字节,自动加入\0),也可以用putchar输出
char str[5] = { 'a', 'b', 'c', 'd', '\0' };
printf("%s", str);//整体显示必须要有‘\0’
</pre><pre code_snippet_id="1715918" snippet_file_name="blog_20160613_3_6513793" name="code" class="html">
<pre name="code" class="html"> char str1[5] = { 'a', 'b', 'c', 'd', 'e' };//单个显示
for (int i = 0; i < 5;i++)
{
putchar(str1[i]);
}
2.使用指针移动位置打印出字符串
void main5()
{
char *p = "iloveyou";
//指针循环输出字符的办法
p = p + 5;//指针的位置决定从哪里开始
for (char*pbegin = p; *pbegin != '\0';pbegin++)
{
putchar(*pbegin);
}
system("pause");
}
3.代码区内容不能修改
<span style="font-size:24px;">void main()
{
char *p = "iloveyou";
printf("%s", p+1+4);//改变指针的位置输出不同的字符
p[3] = 'X';//*(P+3) 代码区不允许修改
*(p + 4) = 'Y';
system("pause");
}</span>
五.字符串的比较
1.char *p="123" 不能*p=“”改变*p内容,因为*P在代码区
char str[100]=“123” 可通过str="abc"改变str内容,因为str在静态区
七.strlen、strcpy、strstr
strlen:返回一个字符串的长度,不包括\0
strcpy:拷贝字符串,第一个参数是目标字符串,第二个参数是要拷贝的对象,返回值是第一个参数的地址
strstr:查找第二个参数是否在第一个参数内,如果找到返回地址
strcpm:判断两个字符串大小,等于返回0,大于返回1(如A>B)小于返回-1
strtok:分解字符串为一组字符串,strtok("abc,def,ghi",","),最后被分割为abc def ghi.
strtol:从前往后读取数字,遇到非数字终止,10代表禁止