①字符串二:
strcasecmp忽略大小写比较字符串
strncmp(p,p1,n)比较指定长度字符串
strchr(p,c)在字符串中查找指定字符
strstr(p,p1)查找字符串:
char s [] = “how are you”;
char subs = “are”;
printf ("%d\n",strstr (s,subs)-s);结果为4

isalpha()检查是否为字母字符
isupper()大写
islower()小写
isdigit()数字

②指针:
内存单元的地址成为指针,专门用来存放地址的变量为指针变量。
<存储类型> <数据类型> *<指针变量名>
char *pName

睁眼看了23年世界,越发认识自己的渺小;
历史长河亿分之一,你要很努力啊!

指针占多少字节,操作系统决定。
int a [20],*pa;
pa = a; //等价pa = &a [0]

两指针相减得出一个整数值,表示相隔的数据个数。

#include <stdio.h>
int main(void)
{int a, b, i = 7;i++; //等价于i = i + 1;++i; //等价于i = i + 1;a = i++; //等价于a = i; i = i + 1;b = ++i; //等价于i = i + 1; b = i;printf("a = %d, b = %d\n", a, b);return 0;
}
a = 9, b = 11

#include <stdio.h>
int main(void)
{int a = 5;int *p = &a;int b = (*p)++; //等价于b = a++; 即b = a; a = a + 1;int c = ++(*p); //等价于c = ++a; 即a = a + 1; c = a; printf("b = %d, c = %d\n", b, c);printf("(*p)++ = %d, ++(*p) = %d\n", (*p)++, ++(*p));return 0;
}
b = 5, c = 7
(*p)++ = 8, ++(*p) = 8

#include <stdio.h>
int main(void)
{int arr[] = {1, 2, 3, 4};int *p = arr;int a = *p++; //等价于a = *(p++); 即a = *p; p = p + 1;int b = *++p; //等价于b = *(++p); 即p = p + 1; b = *p;    printf("a = %d, b = %d\n", a, b);return 0;
}
a = 1, b = 3


设指针变量px的地址值等于数组指针x(即指针变量px指向数组的首元数,则:
)x[i]、(px+i)、(x+i)和px[i]具有完全相同
的功能:访问数组第i+1个数组元素。

⑤数组互换

{int a[]= {3,2,4,5,3,2,1};int *p,*q,n,t;n = sizeof (a) / sizeof (int);p = a ;q = &a[n-1];while (p<q){t = *p;*p = *q;*q = t;p++;q--;}for (t=0;t<n;t++)printf ("%d",a[t]);puts ("");
}

⑥指针与二维数组
二维数组名代表数组的起始地址,数组名加1,是移动
一行元素。因此,二维数组名常被称为行地址。
例:

int a[3][2] = {{2,3},{2,6},[6,5}};
int * p,i,n;
n = sizeof (a)/ sizeof (int);printf ("%p %p\n",a,a+1);// 输出地址间隔一行的大小。c8,d0.
printf ("%p %p\n",*a,*a+1);// 同a[0],a[1].输出为元素地址间隔四个字节.c8,cc.

⑦行指针
存储行地址的指针变量。形式如下:
<存储类型> <数据类型> (*<指针变量>)[表达式]

int a[2][3];int (*p)[3].

例:

 int a[3][2] = {{2,3},{2,6},[6,5}};int (*p)[2];p = a;printf ("%d %d %d %d\n",a[1][1],p[1][1],*(*(a+1)+1),*(*(p+1)+1));打印结果皆为a[1][1].6

注:*(a+1)等价于a[1],表示行。
⑧字符指针和字符串
▲当一个字符指针指向一个字符串常量时,不能修改指针指向的对象的值。
char * p = “Hello ”;
*p = ‘h’; 错误

初始化字符指针是把内存中字符串的首地址赋予指针,并不是把该字符串复制到
指针中
char str[] = “hello world”;
char *p = str;
▲字符串的连接

int main (int argc,char *arg[])
{char ch[100] = "welcome";char * p = "hello world";int i = 0;while (*(ch+i) != '\0')i ++;while (*p != '\0') {*(ch+i) = *p;i++;p++;}   *(ch+i) = *p;puts(ch);puts(p);
}

#include <stdio.h>#include <string.h>int main (){char str[] = "hello";int len = strlen(str),i;// 直接输出字符串printf ("%s\n",str);// 每次输出一个字符for (i=0;i<len;i++){printf ("%c",str[i]);}printf ("\n");return 0;}

⑨指针数组

<存储类型> <> <>
double * pa[2],a[2][3];
pa[0]=a[0];// 等价pa[0] = &a[0][0];
pa[1]= a[1]; //等价于pa[1]=&a[1][0];

int * p[3];int a[] = {3,4,3,2,5,3};p[0] = a;p[1] = a+1;p[2] = a+2;printf ("%d %d %d\n",a[0],a[1],a[2]);printf ("%d %d %d\n",*(p[0]),*(p[1]),*(p[2]));return 0;

⑩ 多级指针 略

创客学院9天C语言四相关推荐

  1. 创客学院9天C语言一

    写此博客,当作每天学习完后的记录,时常看看巩固知识,腾讯课堂小美老师C语言第一课. ① #include <stdio.h>int main (){int m;m=1+2;printf ( ...

  2. 创客学院9天C语言六

    ①数组在函数间传参: 全局数组传递方式: 复制传递方式: 实参为数组的指针,形参为数组名(本质是一个指针变量) 地址传递方式: 实参为数组的指针,形参是同类型的指针 ▲编写一个函数,计算一个一维整形数 ...

  3. 创客学院9天C语言三

    ①打印字母: int main (int argc,char *argv[]) {int i,j;char ch = 'F'; //printf ("请输入字符:");//scan ...

  4. 创客学院9天C语言五

    ①void指针: 不确定数据类型的指针变量,它可以通过强制类型转换让改变量指向指向任何数据类型的变量. void * <指针变量名称> ▲ int m = 10; double n = 3 ...

  5. 创客学院9天C语言二

    ①运算符: %取余 &&逻辑与 ||逻辑或 位运算符: unsigned char x=0x17,y; y=~x;结果x=11101000. %#X是带格式输出,效果为在输出前加0X: ...

  6. 创客学院知识巩固-01C语言回顾

    文章目录 知识框图 知识框图

  7. 华清远见创客学院_有远见的未来,并通过数据改变学院

    华清远见创客学院 Today is August 26, and undergraduate and graduate students, staff, teachers, professors, w ...

  8. 创客学院嵌入式驱动开发——学习资料汇总

    总结  1.创客学院知识巩固-01C语言回顾_C/C++_Set_Mode的博客-CSDN博客 https://blog.csdn.net/Set_Mode/article/details/94431 ...

  9. 四川大学c语言期末试题答案,四川大学计算机学院2005级C语言程序设计试卷(2份,有答案)...

    内容简介: 四川大学计算机学院2005级C语言程序设计试卷(一) 一.单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内.每小题2分,共18分) 1.以下程序段中循 ...

最新文章

  1. python3编写简易统计服务器
  2. boost::mpl模块实现push_front相关的测试程序
  3. 透视映射和射影映射的关系 Perspective and Projectivity
  4. [LOJ #521]「LibreOJ β Round #3」绯色 IOI(抵达)(结论)
  5. 【PAT】B1055 集体照(25 分)
  6. 数字货币买卖单、价格、数量计算方式浅谈
  7. webots离线网页无法跳转
  8. hijson,64位百度云永久免费,这是一个爱分享的世界
  9. t检验及python代码实现
  10. Shottr 免费好用的Mac 截屏软件
  11. ViewPager翻页动画失效详解
  12. 六款最佳、免费的网络延迟测试工具
  13. 三十分钟理解:稀疏矩阵存储格式总结+存储效率对比:COO,CSR,DIA,ELL,HYB
  14. mysql多次登录失败控制,Mysql登录失败多次锁定配置
  15. 求助:MATLAB中实现卷积运算和理论分析中的卷积运算有什么区别?
  16. 去耦电容与旁路电容的应用技巧
  17. html中去除浮漂有什么作用,浮漂有动作,但总是锚鱼该怎么办?只需4招,保证帮你解决问题...
  18. java-php-python-ssm艾灸减肥管理网站计算机毕业设计
  19. photoshop 插件_使用长阴影生成器创建长阴影[Photoshop插件]
  20. unity3d terrian tree 地形组件 草木石树无法碰撞的解决办法

热门文章

  1. python输出宽度是什么意思_python字符串格式化输出的时候类似{0:.3f}是什么意思?...
  2. linux/php一句话图片马及实例
  3. 关于COM组件部分总结
  4. 男子在网吧蜗居4年半 曾647分考上大学 IS2120@BG57IV3
  5. 50和学习c/c++优秀网站
  6. Windows10 更新1607版本,系统自带浏览器Microsoft Edge收藏夹消失?
  7. C语言实现了crontab表达式执行时间
  8. python是什么-Python到底是个啥?
  9. DDD 兴起的原因以及与微服务的关系
  10. 2021年中国物联网通信板块现状及重点企业对比分析(移远通信VS广和通VS和而泰VS拓邦股份VS移为通信)[图]