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

塘沽集团网站建设wordpress设置仅自己可见

塘沽集团网站建设,wordpress设置仅自己可见,宝安区建设交易网站,文山州建设局信息网站那么这一篇文章带大家学习一下c语言的指针的概念、使用、以及一些注意事项。 指针的概念 指针也就是内存地址,指针变量是用来存放内存地址的变量。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。 大白话讲解…

那么这一篇文章带大家学习一下c语言的指针的概念、使用、以及一些注意事项。

指针的概念

指针也就是内存地址,指针变量是用来存放内存地址的变量。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。

大白话讲解

外卖大家都点过吧,在付款前,app都会先让我们填写收货地址对吧,这个指针呢就好比外卖员,它必须要拥有你所在的地址信息,然后才能将外卖送到你的手上。

即 int*   e = &a;// e得到了a的地址

语法格式

类型*   地址变量名      eg.int*  n;//指针的创建

可能太抽象,别急后面我会举个例子让大家了解指针的使用

在此之前我们先来讲一下指针的运算

指针运算

指针运算一共有三种,我已经给大家放在下面了

指针+-整数

eg.*(p + 1)

代码举例:

# include <stdio.h>
// 指针 +- 整数
int main ()
{
int arr[ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 };
int *p = &arr[ 0 ];
int i = 0 ;
int sz = sizeof (arr)/ sizeof (arr[ 0 ]);
for (i= 0 ; i<sz; i++)
{
printf ( "%d " , *(p+i)); //p+i 这⾥就是指针 + 整数
}
return 0 ;
}

指针-指针

代码举例:

指针的关系运算

代码举例:

// 指针的关系运算
# include <stdio.h>
int main ()
{
int arr[ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 };
int *p = &arr[ 0 ];
int i = 0 ;
int sz = sizeof (arr)/ sizeof (arr[ 0 ]);
while (p<arr+sz) // 指针的⼤⼩⽐较
{
printf ( "%d " , *p);
p++;
}
return 0 ;
}
这里就快点带过了,大家自行观看

关于const的介绍

首先我们先来看一段代码,相信看到这篇文章的大多是小白,所以我以文字的方式带大家将代码走一遍。

int main()
{
    int a = 666;//创建变量,并赋值
    int* p = &a;//取出a的地址,并存放在* p 中
    printf("%d ", *p);//根据p提供的地址,将数据进行打印
    return 0;
}

那么带大家走完后,就开始这一部分的内容了。

首先const是修饰指针的,至于它的作用我们一会儿再说,我们先再来看段代码

这是一段编译器已经报错了的代码, 我们可以从图片中看到如第485和第469行以及它的报错,从中我们可以发现*p的值无法修改,而484行的const在星号的左边,468行的const在类型和星号的左边。

那么我们再来看一段代码。

从图中我们可以发现,*p得到的是n的地址,但却输出的不是n的地址

那么从上面两张图中我们可以看到const所在位置不同,使得最后的结果也不同。

或许有小伙伴已经猜出const的大概作用了,那么我们还是来总结一下const的规则

const的规则

位置

以下用c表示const

c   类型*   指针名

类型 c *   指针名 

类型  *   c  指针名

作用

修饰指针

修饰规则

const如果放在*的左边 修饰的是指针指向的内容 ,保证 指针指向的内容不能通过指针来改变
但是指针变量本⾝的内容可变
const如果放在*的右边 ,修饰的是 指针变量本⾝ ,保证了 指针变量的内容不能修改 ,但是 指针指
向的内容,可以通过指针改变

总结

c左值不变,c右名不变(这里的左右以星号为准,这里的名所指的对象名不变)

这里给大家拓展了有点多了,本来是打算直接告诉大家这个口诀以及简单解释口诀,但是我突然感觉还是要让大家自己从这些代码中看到结果以及总结出适合自己的口诀(如果有能力可以不参照我的总结)

野指针的成因以及如何规避野指针

成因                                 解决方法

1.指针未初始化                                       1.初始化指针   eg. int* p = NULL

2.指针越界访问                                       2.不超出访问范围

3.指针指向的空间释放                            3.指针变量不再使⽤时,及时置NULL,指针使⽤之前检                                                                      查,有效性 指针变量不再使⽤时,及时置NULL,指针                                                                      使⽤之前检查有效性

assert函数的作用

assert函数是一个库函数

作用:声明指针不为空

头文件:C语言  ----->   #include<assert.h>

              C++     ----->    #include<cassert>


今天就先给大家讲到这里,喜欢我的小伙伴可以给我点个赞哟!

http://www.yayakq.cn/news/76867/

相关文章:

  • HTML asp 网站做休闲会所网站制作
  • 西安网站关键词优化推荐dw怎么做网站首页
  • 网站目录结构说明零基础怎么做电商
  • jsp 网站开发域名备案期间 网站访问
  • 网站正在建设中 手机版高端建筑围护系统
  • 看手机的网站叫什么网站设计 分辨率
  • 华为云建设网站需要域名吗律师个人网站有用吗
  • 学习html的网站济南品质网站建设哪家好
  • 网站代做多长时间做网站公司松江
  • 佛山市做网站wordpress文章顶置
  • 免费招聘网站平台南宁市建设厅网站
  • 网站的搭建流程东莞工程建设监督服务平台
  • 网站可行性分析php网站访问量代码
  • seo培训赚钱手机优化助手怎么删除
  • 燕郊建设局网站网站备案用户注销备案申请表
  • 如何降低网站跳出率中国材料信息网
  • 陕西教育建设信息网站营销方式和渠道
  • net域名做企业网站怎么样号卡分销系统源码
  • 如何做类似优酷的视频网站wordpress固定链接404 nginx
  • 南昌网站推广公司深圳百度推广开户
  • 济源做网站的公司手机投资app平台
  • 昆明建个网站哪家便宜最好要使用中文目录
  • 重庆荣昌网站建设费用seo免费自助建站
  • 中山网站建设中山东营房产信息网官网
  • 高校门户网站建设问题免费注册网站域名
  • 写作网站最大企业常见问题及解决方案
  • 知乎做笔记的网站网站如何做支付宝接口
  • 小榄做网站贵阳网站建设设计
  • 做网站开发有前途么怎么做提货网站
  • 动漫制作专业软件seo推广培训资料