当前位置: 首页 > news >正文

免费建站网站网页wordpress 主题字体

免费建站网站网页,wordpress 主题字体,科技公司经营范围包括哪些,上海网络推广部指针基础 1. 概述 地址编号#xff1a;计算机为了存储数据#xff0c;每一个程序在 32位 机中 占4G#xff0c;最小操作单位 是 一个字节#xff0c;每一个字节都有其对应的地址#xff0c;该地址就是 地址编号。 指针#xff1a;地址编号这个数据 的 数据类型。 指针变…指针基础 1. 概述 地址编号计算机为了存储数据每一个程序在 32位 机中 占4G最小操作单位 是 一个字节每一个字节都有其对应的地址该地址就是 地址编号。 指针地址编号这个数据 的 数据类型。 指针变量存储地址编号的 变量其 数据类型为 指针。 注意 在32位平台下, 地址总线是32位的, 所以地址是32位编号, 所以指针变量是32位的, 即4个字节。 在64位平台下, 地址总线是64位的, 所以地址是64位编号, 所以指针变量是64位的, 即8个字节。代码 #include stdio.h int main(int argc, char const *argv[]) {printf(char * 大小为:%ld\n,sizeof(char *));printf(short * 大小为:%ld\n,sizeof(short *));printf(int * 大小为:%ld\n,sizeof(int *));printf(long * 大小为:%ld\n,sizeof(long *));printf(float * 大小为:%ld\n,sizeof(float *));printf(double * 大小为:%ld\n,sizeof(double *));return 0; }输出 char * 大小为:8 short * 大小为:8 int * 大小为:8 long * 大小为:8 float * 大小为:8 double * 大小为:82. 指针变量 1.1 定义 语法 数据类型 变量名指针的类型 char * 存储字符型数据的地址编号的数据类型 字符指针 short * 存储short型数据的地址编号的数据类型 短整形指针 int * 存储int型数据的地址编号的数据类型 整形指针 long * 存储long型数据的地址编号的数据类型 长整形指针 float * 存储float型数据的地址编号的数据类型 单精度浮点型指针 double * 存储double型数据的地址编号的数据类型 双精度浮点型指针 ...如 //案例1: int num 10; 定义一个指针变量存储num的地址 int *p; //案例2: char c a; 定义一个指针变量存储c的地址 char *p //案例3: int *p num; 定义一个指针变量存储变量p的地址 int **p2;注意 如果在一行中定义多个指针变量每个指针变量前面都需要加*来修饰 void fun05() {int a,b,c;int *p1,*p2,*p3; }1.2 初始化 (1)、定义指针变量时赋真实的地址 int num 10; int *p num;(2)、当指针变量的值 等于 NULL 时这种指针叫做 空指针 int *p NULL;(3)、当指针变量是局部变量在其定义时没有赋值此时系统将随机给其一个值这种指针称为 野指针 int *p;1.3 运算符 1.3.1 作用取地址 取地址符 可取区域只能获取变量地址 栈区 静态全局区 代码 #include stdio.h char c a; int main(int argc, char const *argv[]) {int num 10;int *p num;printf(p %p\n, p);char *p2 c;printf(p2 %p\n, p2);// int *p3 10; // 取常量10的地址会报错const int num02 20;int *p4 num02;printf(p4 %p\n, p4);return 0; }// 输出 // p 0x7ffe8dfe59f8 // p2 0x601040 // p4 0x7ffe8dfe59fc1.3.2 * 作用取值 或 改值修改指针指向的地址的值 语法*指针变量名 #include stdio.h int main(int argc, char const *argv[]) {int num 10;int *p num; //此时 * 表示 变量p是int型指针变量printf(*p %d\n, *p); //此时 * 表示为取值*p 20;printf(num %d\n, num);return 0; }// 输出 // *p 10 // num 203. 指针类型 3.1 指针本身的类型 指针变量 去除 变量名剩余的就是 指针本身的类型 如 int *p1; // int * int **p2; //int ** int (*p)(int int);//int (*)(int,int) ...例 #include stdio.h int main(int argc, char const *argv[]) {int num 10;int *p num; //去除变量名剩余指针类型 int *便于判断等号左右两边类型是否一致printf(p %p\n, p);char *p2 num; //语法错误两边类型不一致但是编译器会做优化只报警告不报errorprintf(p2 %p\n, p2);return 0; }3.2 指针指向的数据的数据类型 指针变量 去除 变量名与最近的一个剩余的就是 指针 指向的数据的 类型 如 int *p1; // int int **p2; // int * int (*p)(int int); //int (int int) ...3.3 取值宽度 int num 0x01020304; int *p num; print(*p %d\n, *p);问题num为int型变量占4个字节那就是4个地址(1个字节一个地址) ​ 那么指针变量p在存储num的地址时是怎么存储的存储的是哪个地址 答指针变量有取值宽度如下 指针变量的数据类型 决定了 取值宽度 int * 取值宽度为4字节 char * 取值宽度为1字节 short * 取值宽度为2字节 ...例与单位跨度同一代码 3.4 单位跨度 指针变量的数据类型 决定了 单位跨度(就是地址在进行加减时地址增减的字节数) int * 单位跨度为4字节 char * 单位跨度为1字节 short * 单位跨度为2字节例 #include stdio.hint main(int argc, char const *argv[]) {int num 0x01020304;//对应的十六进制0x0000 0001 0000 0010 0000 0011 0000 0100//Linux系统存储是倒叙存储的//0000 0100 0000 0011 0000 0010 0000 0001//0x04 0x03 0x02 0x01int *p num;printf(*p %d\n, *p); //*p 16909060char *p2 (char *)num; //强制转换为char *类型printf(*p2 %d\n, *p2); //*p2 4short *p3 (short *)num; printf(*p3 %d\n, *p3); //*p3 772 对应的十六进制0x0304printf(*p2 %d\n, *(p21)); //*p2 3 对应的十六进制0x03 此时p2为首个字节存储的地址1,加的是一个单位跨度即1字节printf(*p2 %d\n, *(p22)); //*p2 2 对应的十六进制0x02 步长为12表示向后挪二位printf(*p3 %d\n, *(p31)); //*p3 258 对应的十六进制0x0102 步长为21表示向后挪二位return 0; }4. void 作用 1、当函数没有返回值时返回值类型为void 2、void和指针结合作为一种指针类型如 void * 这种指针被称为 万能指针意味着任何一种地址都可以赋值给该类型的指针变量 例 #include stdio.h int main(int argc, char const *argv[]) {char c a;short s 1;int num 10;char * p1 c;short * p2 s;int * p3 num;printf(*p1 %d\n, *p1);printf(*p2 %d\n, *p2);printf(*p3 %d\n, *p3);void * p4 c;void * p5 s;void * p6 num;return 0; } 5. 指针变量使用的注意事项 5.1 野指针操作会出现段错误 void fun01() {//野指针int *p;printf(*p%d\n,*p); }5.2 空指针操作会出现段错误 void fun02() {//空指针int *p NULL;printf(*p%d\n,*p); }5.3 不要对万能指针进行操作 void fun03() {int num 10;int *p num;printf(*p%d\n,*p);void *p2 num;printf(*p2%d\n,*p2); }5.4 操作指针变量不要越界 #include stdio.hvoid fun04() {int num 0x01020304;int *p num;char *p2 (char *) p;printf(%#p\n,*p2);printf(%#p\n,*(p21));char c a;char * p3 c;//1int *p4 (int *)p3;printf(%#p\n,*p4); }int main(int argc, char const *argv[]) {fun04();return 0; }// 输出 // 0x4 // 0x3 // 0x20304616. 练习 案例1以下赋值语句正确的是___ int num10, *pnum, **qp; A:pnum B:q p; c:qnum D:qp;正确答案AD 但是Bc也可以通过会有警告相当于指针变量赋给二维指针变量
http://www.zqtcl.cn/news/524179/

相关文章:

  • 网站权重什么意思seo的搜索排名影响因素有
  • 建设报名系统是正规网站吗计算机培训班出来好找工作吗
  • 网站上的文章用秀米可以做吗宁波外客网络科技有限公司
  • 网站底部导航代码成品视频直播软件推荐哪个好一点ios
  • 上海电商网站开发公司垫江网站建设价格
  • 门户网站建设存在问题与不足商城网站开发项目文档
  • wordpress建站方便吗wordpress加入海报功能
  • 网站名称注册保护2018wordpress主题
  • 类似享设计的网站企业信息系统公示
  • 如何学习网站开发酒店网站源码
  • 怎么用nas做网站服务器WordPress云虚拟空间
  • 网站设计 ipad企业品牌推广宣传方案
  • 织梦网站怎么更换模板济南建设厅网站
  • 用wordpress仿站专业做俄语网站建设司
  • 做暧暧网站网站开发 思维导图
  • asp.net做登录注册网站苏醒的wordpress主题怎么样
  • 正能量不良网站推荐2020网站建设单位是什么
  • 固镇网站建设郑州网站seo顾问
  • 新建定制网站费用公司网站手机端和电脑端
  • 网站域名注册地址苏州建设培训中心网站
  • 高端娱乐网站建设沈阳seo专业培训
  • 做播放器电影网站需要多少钱6广州seo公司推荐
  • 笔记本可以做网站吗怎样查看网站是否备案
  • 千灯做网站网站静态和伪静态意思
  • 做境外碎片化旅游的网站wordpress wdcp
  • 整容医院网络建设公司seo实战技术培训
  • 免费服务器建立网站郑州seo线上推广系统
  • 医院网站建设的目的qq小程序源码
  • 郑州seo网站排名优化公司建站行业发展
  • 彭山住房和城乡建设局网站儒枫网网站建设