C-指针02 2017/11/24
/* 复习 1.指针类型 int *指针类型 指针指向的变量类型指针指向哪个变量2.基本数据类型 4种指针类型 存放的地址 和系统有关系 4个字节数组类型结构体 枚举 联合3.指针加法减法 p++ 和数组搭配使用4.两个运算符 *取值(解引用) &取地址5. *(p+i) p[i] (p是指针 i是整型)p[i]的地址 &p[i] p+i*/#include<stdio.h> #include<string.h> int win;//全局变量 int main() {//1.复习//int* p;//int *p;int * p;没有任何区别int* p, *q;//定义两个指针 指针前面要记得单独加*char chArr[] = "helloworld";//字符数组 存放字符串 栈区char *pArr = "helloworld";//指针 字符串存放在常量区 ,指针指向它存放的首地址 字符串不能(不可以被修改)//代码区 全局数据区(常量区) 堆区 栈区/*数组输出 除了字符数组 字符数组 \0作为结尾 printf("%s",chArr);//用printf输出%s 输出这个地址和地址后的所有字符 直到遇到\0为止scanf("%s",chArr);//数组名就是数组首地址 数组第一个元素的地址*///相同点 puts(chArr);//都可以用来打印printf strcmp strlen puts(pArr);//不同点 pArr不能用于输入 //gets(chArr);//gets(pArr);//不可以修改内容//strcpy strcat strlen 字符串的函数 //strcpy(pArr, chArr);//不可以修改常量区//2.指针的加加 ++ 指针加1 // 指针++的时候同时解引用int iArr[10] = { 0 };int iBrr[10] = { 0 };p = iArr, q = iBrr;//*p++; (*p)++; printf("*p=%d,p=%p\n", *p, p);//*p++;*p++=5; //先给*p赋值 然后p++ 等价*p=5,p++printf("*p=%d,p=%p\n", *p, p);printf("*q=%d,q=%p\n", *q, q);(*q)++;printf("*q=%d,q=%p\n", *q,q);/**p++ p加了1 (*p)++ p指向的内容 加了1*(p++) 和*p++没有区别//课后自己试试* 后++ 取值 p++ 都是操作指针 *p++ (*p)++ 对*p进++ 指向的变量进行++今天的作业题目 测试作用*++p++*p附加题(可以不做) 测试二级指针和数组指针加1之后的地址偏移*///3.指针和数组 (理论)/*指针加1 偏移一个数据的长度数组同样可以看成一个类型 int arr[10]arr -->大小 存数据 地址*/int idArr[5][10];//二维数组//p = idArr;//类型不一致//方案1//p = &idArr[0][0]; //赋值数组第一个元素地址//for (int i = 0; i < 5 * 10; i++)//用指针给数组赋值//{// *p = i; // p++;// //*p++ = i;//}//方案2//数组指针 指针指向整个数组 //int (*pd)[10]=idArr;int(*pd)[10];//定义一个数组指针//pd= idArr;pd = &idArr[0];//赋值 for (int i = 0; i < 5; i++)//用数组指针给他赋值 {for (int j = 0; j < 10; j++){pd[i][j] = i*j;//使用 }}/*pd[i][j] (*(p+i))[j] *(p[i]+j) *(*(p+i)+j)等价*pd[3] ==>*((pd[3])+0)*///数组指针和指针数组int(*point)[10];//数组指针 指向数组的指针int *parr[10];//指针数组 int* parr[10] 指针数组 10个int* 10个元素都是指针//二级指针 指针保存的是一个一级指针的地址 用到二级指针int **pp;pp= &p;//p是一级指针 pp保存一级指针地址 pp = parr;//指针数组名pp = &parr[0];//parr[0]是一个一级指针 for (int i = 0; i < 5; i++)//循环打印 {for (int j = 0; j < 10; j++){printf("%d\t", idArr[i][j]);}printf("\n");}getchar();return 0;}
转载于:https://www.cnblogs.com/guijin/p/8298176.html
C-指针02 2017/11/24相关推荐
- 【一周头条盘点】中国软件网(2017.11.20~2017.11.24)
每一个企业级的人 都置顶了 中国软件网 中国软件网 为你带来最新鲜的行业干货 趋势洞察 阿里云IoT赵磊:ICA联盟,构建未来物联网生态圈 阿里云IoT赵磊表示:阿里ICA 联盟,也称IoT合作伙伴计 ...
- 2017.11.24
转载于:https://www.cnblogs.com/dyh-air/p/7892570.html
- 登录之后更新导航(2017.11.24)
1.用上下文处理器app_context_processor定义函数 获取session中保存的值 返回字典 处理器: @app.context_processor def mycontext():u ...
- 【292天】跃迁之路——程序员高效学习方法论探索系列(实验阶段50-2017.11.24)...
实验说明 从2017.10.6起,开启这个系列,目标只有一个:探索新的学习方法,实现跃迁式成长 实验期2年(2017.10.06 - 2019.10.06) 我将以自己为实验对象. 我将开源我的学习方 ...
- 【跃迁之路】【651天】程序员高效学习方法论探索系列(实验阶段408-2018.11.24)...
@(收集箱(每日一记,每周六整理))专栏 实验说明 从2017.10.6起,开启这个系列,目标只有一个:探索新的学习方法,实现跃迁式成长 实验期2年(2017.10.06 - 2019.10.06) ...
- 人工智能AI主题汇总(至2023年02月11日)
人工智能(AI)是指机器执行人类能够轻松完成的感知.推理.学习和解决问题等认知功能的能力.过去20年以来,由于互联网产生的海量数据的可用性,人工智能在全球范围内获得了关注.最近,OpenAI上线了Ch ...
- 微软常用运行库合集自动安装 2017.06.24 X86X64
相信使用windows的小伙伴们都遇到过运行库报错的问题,尤其是使用绿色软件的时候,比如QQ和PS,由于在精简的时候把运行库精简掉了,所以难免会出现运行库报错.除了市面上的盗版ghost系统会内置运行 ...
- 预习:11.16/11.17 Apache默认虚拟主机-11.24 静态元素过期时间
预习: 11.16/11.17 Apache默认虚拟主机 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志 11.22 访问日志不记录静态文件 11 ...
- 日常总结2017/11/4
.LOG /********************************************************************************************** ...
最新文章
- 又肝了下微服务 API 网关“金刚”,也是蛮香的~
- 使用jena 进行RDF推理
- OC基础--成员变量的封装
- 千博HTML5自适应企业网站系统源码
- rman 脚本备份全过程
- Solana生态项目DEX聚合器Dagg trade完成种子轮融资,credence.fund投资
- 响应式滚动图懒加载 element ui el-carousel 组件优化代码
- Facebook正在追踪你,哪怕你不是用户丨扎克伯格国会听证第二日
- 第 4 章 terminal
- word中编辑公式及公式编号的对齐设置
- 在苹果Mac上如何指定发送邮件的时间?
- C语言数据类型大小分析(基于VC2005编译器)
- LOGO与BASIC语言编程入门pdf
- 打开chm手册显示已取消到该网页的导航
- Windows简单TCPIP服务
- CallBack函数调用
- 认识Base64,看这篇足够了
- 备忘5:爬取微博热门信息以及所有热门微博评论的用户信息
- C语言打印到txt文件
- 福禄克FTK2000光纤入户损耗质检官冲鸭
热门文章
- 2014 计算机网络 考研真题,2014计算机网络考研试题过关必练
- Git分支命令学习使用
- centos7安装nginx和php,centos7安装nginx1.10和php7
- oracle财务软件凭证打印,金算盘财务软件后台数据库为Oracle
- 程序员才能看懂,看到第18张终于忍不住笑喷了。
- ASP.NET MVC的过滤器笔记
- 整理一些提高C#编程性能的技巧
- 嵌入式C语言基础链表
- dockerfile源码安装mysql_docker容器详解五: dockerfile实现tomcat环境以及源码安装mysql...
- python中的__new__和__init__