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

如何 html5 网站模板网站优化软件下载

如何 html5 网站模板,网站优化软件下载,书店网站建设设计方案,建企业网站教程指针一、什么是指针二、指针类型三、指针和数组的关系四、空指针五、野指针一、什么是指针 指针#xff08;Pointer#xff09;是编程语言中的一个对象#xff0c;通过地址直接指向内存中该地址的值。由于通过地址能够找到所需的变量存储单元#xff0c;可以说地址指向该变… 指针一、什么是指针二、指针类型三、指针和数组的关系四、空指针五、野指针一、什么是指针 指针Pointer是编程语言中的一个对象通过地址直接指向内存中该地址的值。由于通过地址能够找到所需的变量存储单元可以说地址指向该变量存储单元因此将地址形象化称为指针。总而言之指针就是变量存放内存单元的地址存放在指针中的值都会被当作地址处理。 #include stdio.h int main(){int a 5; // 在内存中开辟一块存储空间存放变量a的值5int* p a; // 取出变量a的地址存放在变量p中p就是一个指针变量// int* p;// p a;return 0; }如下图所示 此时在内存中开辟一块存储空间存放变量a的值5同时定义了一个指针变量p将变量a的地址赋给指针变量p此时指针变量p内存放的就是变量a的地址通过*p即可访问到指针变量p指向地址的数据即 *p 的值为 5 。 二、指针类型 所有实际数据类型不管是整型、浮点型、字符型还是其他的数据类型对应指针的值的类型都是一样的都是一个代表内存地址的长的十六进制数。不同数据类型的指针之间唯一的不同是指针所指向的变量或常量的数据类型不同。 1、指针类型决定了指针进行解引用操作的时候能够访问空间的大小。 int* p;* p能够访问4个字节 char* p; * p能够访问1个字节 double* p; *p能够访问8个字节 2、指针类型决定了指针的步长。例如 #include stdio.h int main(){int a 5; int* pa a;char* pc a; printf(pa %p\n,pa);printf(pa1 %p\n,pa1);printf(pc %p\n,pc);printf(pc1 %p\n,pc1);return 0; }此时定义了3个类型的指针分别为char *、int *、double *分别对其进行加1操作结果如下 此时int *类型的指针加1操作的步长为4char * 类型的指针操作步长为1double * 类型的指针操作步长为8。 三、指针和数组的关系 数组名即该数组首元素的地址即数组名就是一个指针。 #include stdio.h int main(){int arr[5] {1,2,3,4,5};int *p arr; // 数组名即该数组首元素arr[0]的地址for (int i 0; i 5; i){printf(%d ,*(pi));} printf(\n);for (int i 0; i 5; i){printf(%d ,*(arri));} return 0; }运行结果 四、空指针 在指针声明的时候如果没有确切的地址可以赋值为指针变量赋一个 NULL 值是一个良好的编程习惯。赋为 NULL 值的指针被称为空指针。 #include stdio.h int main(){int* p NULL;printf(p的地址是%p,p);return 0; }五、野指针 野指针就是指针指向的位置是不可知的随机的、不正确的、没有明确限制的。 1、野指针形成原因 1指针未初始化 例如 #include stdio.h int main(){int a; // 局部变量不初始化默认是随机值int* p; // 局部指针变量未进行初始化默认为随机值*p 20;return 0; }2指针越界访问 例如 #include stdio.h int main(){int arr[5] {0};int* p arr;for (int i 0; i 5; i){// 当i 5时指针的范围超出了数组arr的范围时p就是野指针*(p) i;}return 0; }当i 5时指针的范围超出了数组arr的范围时p就是野指针。 3指针指向的空间释放 例如 #include stdio.hint* test(){int a 10;return a; }int main(){int* p test();*p 20;return 0; }当在执行test()函数时开辟了一块存储空间存放a执行int* p test();这条语句p接收到了test()函数返回的地址执行完这条语句之后test()函数中存放a的存储空间被操作系统回收了此时指针p所指向的地址已经不是先前存放a的地址了p就成了一个野指针这时在对*p赋值就会出错。 2、如何规避野指针 1指针初始化 2避免指针越界 3指针指向空间释放时置为NULL 4使用指针前检查有效性
http://www.w-s-a.com/news/18332/

相关文章:

  • 网站建设需怎么做有网站怎么做企业邮箱
  • 网站制作流程视频教程小程序多少钱一年
  • 暗网是什么网站花都网站建设哪家好
  • 贵州网站开发流程晋江论坛手机版
  • 网站建设丿金手指谷哥14阿里巴巴官网电脑版
  • 网站开发招聘信息匿名ip访问网站受限
  • 网站转app工具网站规划建设与管理维护大作业
  • flash是怎么做网站的.net购物网站开发
  • 烟台网站建设求职简历品质商城网站建设
  • 做百度外链哪些网站权重高点做网站具备的条件
  • 怎么样用ppt做网站红番茄 网站点评
  • 建设银行河北分行招聘网站哪里能找到网站
  • 兰州营销型网站网站建设收费标准
  • 网站首页动图怎么做自己做网站很难
  • 自建网站如何盈利推广引流最快的方法
  • 网页设计网站结构图怎么弄网站用户 分析
  • 企业手机网站建设策划天津网页设计工作
  • 苏州vr全景网站建设公司怎么讲解网页的制作技术
  • 徐州智能建站怎么做苏州建设网站首页
  • 网站支付功能报价wordpress主页透明
  • asia域名的网站宁波模板建站源码
  • 官网网站怎么做个人网站盈利
  • 青龙桥网站建设网站同时做竞价和优化可以
  • 沭阳建设网站婴儿辅食中企动力提供网站建设
  • 常州做网站的公司济宁网站建设seo
  • 用wordpress做企业网站视频教程韶关建设网站
  • 怎么做一个免费的网站云南网站设计选哪家
  • dw做六个页面的网站做网站运营有前途吗
  • 中级网站开发工程师 试题战地之王网站做任务
  • 广东东莞保安公司湖南 seo