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

南京微网站建设锦州网站建设渠道

南京微网站建设,锦州网站建设渠道,沧州网站建设制作设计优化,网站源码生成器🌠🌠🌠 大家在刚刚接触C语言的时候就肯定听说过,指针的重要性以及难度等级,以至于经常“谈虎色变”,但是今天我来带大家走进指针的奇妙世界。🎇🎇🎇 一、什么是指针&…

🌠🌠🌠

大家在刚刚接触C语言的时候就肯定听说过,指针的重要性以及难度等级,以至于经常“谈虎色变”,但是今天我来带大家走进指针的奇妙世界。🎇🎇🎇


一、什么是指针🤔

指针理解的两个要点:

1️⃣指针是内存中一个最小单元的编号,也就是地址

2️⃣平常口语中说的指针,通常指的是指针变量,是用来存放地址的变量

数据存储在内存中,是以二进制的方式进行存储的,每一个二进制找到它对应的地址存储起来

例如这样的一个整型变量a,在内存中他的存储方式就是:

我们可以看到这样一个一个的格子,这一个格子便是我们的内存单元,单位是字节,上面代码中的整型变量a,就占四个字节,也就是图中红色区域开辟的空间,里面存的就是变量a。  🎊🎊🎊                                                                                                                                                                🥳🥳🥳                                                              🥳🥳🥳                               单元编号 == 地址 == C语言中的“指针”

二、指针类型 🤔

同数据类型一样,指针也分各种类型,如图:

值得注意的是指针大小是固定的,在32位的环境下占4位,64位的环境下占8位

那么在抛出一个问题,既然所占字节大小都一样为什么还要区分指针类型呢?

指针类型有意义么?🤔🤔🤔

1️⃣指针类型决定了在解引用操作的时候,访问了几个字节

在int类型的指针中,解引用会访问4个字节

在char类型的指针中,解引用只会访问1个字节

2️⃣指针类型决定了指针在+1/-1跳过了几个字节

三、野指针🤔

概念:指针指向的位置是不可知,不确定的,随机的。

野指针成因:

1️⃣指针未初始化

2️⃣指针越界访问

3️⃣ 指针指向的空间释放

如何规避野指针:

🎇指针初始化

🎇避免指针越界

🎇指针指向的空间释放,指针及时置NULL

🎇避免返回局部变量的地址

🎇指针使用之前检查其有效性

四、指针运算🤔

1️⃣整数加减整数

指针+-整数->实际上是移动了一个指针类型的大小,而指针大小一般是4/8个字节

int main(){int arr[] = { 10,9,8,7,6,5,4,3,2,1 }int* p = arr;p++;
return 0;
}

2️⃣指针-指针

前提:两个指针指向的是同一块区域,指针类型是相同的

int main()
{int arr[10] = { 0 };//指针-指针的前提:两个指针指向同一块区域,指针类型时相同的//指针-指针差值的绝对值,指针和指针之间的元素个数printf("%d\n", &arr[9] - &arr[0]);printf("%d\n", &arr[0] - &arr[9]);return 0;
}

结论:指针-指针得到的差值的绝对值是指针与指针之间的元素个数

五、二级指针🤔

概念:二级指针变量是存放一级指针变量的地址的

int main()
{int a = 10;int* p = &a;//p是指针变量,一级指针变量int** pp = &p;//pp指针变量,二级指针变量//int** * ppp = &pp;//pp是指针变量,三级指针变量//......return 0;
}

其实指针不止有一级指针和二级指针,还有三级四级甚至是多级,但是我们在正常情况下很少可以用到。

六、指针数组🤔

指针数组是指针还是数组?🤔

答案:是数组,是存放指针的数组🛹🛹🛹

字符数组:存放字符的数组

整型数组:存放整形的数组

指针数组:存放指针(地址)的数组

int main()
{int arr1[] = { 1,2,3,4,5 };int arr2[] = { 2,3,4,5,6 };int arr3[] = { 3,4,5,6,7 };//指针数组int* arr[] = { arr1,arr2,arr3 };return 0;
}

注意:(数组名可以表示首元素的地址)

今天我们的指针就讲到这里,之后我还会更新一些更高阶的指针,感谢大家的支持!!!

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

相关文章:

  • 哈尔滨市建设安全监察网站_首页做游戏ppt下载网站有哪些
  • 自学做网站的广西网站开发公司
  • 关于网站建设与维护的参考文献群晖 wordpress 目录
  • 医院网站建设的目标深圳协会网站建设
  • 网站推广建设期100个简单的手工小制作
  • 品牌建设的三大理论黑帽seo技术有哪些
  • 图片外链网站小程序定制开发解决方案
  • 搜索引擎网站分析重庆手机网站建设公司
  • 网站建设数据库的选择dedecms能制作几个网站
  • 网站如何挂马教程郑州网站建设乙汉狮网络
  • 企业营销类专业网站哪里可以学效果图制作
  • 网站开发可以开发哪些赛事竞猜网站开发
  • 网站交互图片怎么做百年建筑网
  • 株洲网站建设公司专业网站建站
  • cq网络网站企业官方网站怎么查
  • 网站建设外贸个人怎么申请营业执照
  • 网站开发用什么网站网站建设青岛公司
  • 广州番禺网站制作公司哪家好网站建设可以帮助花店怎么样
  • 杭州电商网站开发宁波网站设计哪家公司好
  • 做网站网站名字自己设置吗合肥广告公司
  • 建立网站有哪些步骤网站域名变更
  • 英国房产网站大全烟台网站建设ytwzjs
  • 网站优化与seo的区别seo技术培训价格表
  • 电商设计素材网站推荐最新外贸seo
  • 上海做网站 公司排名网站建设与管理 规划书
  • zencart网站部门子网站建设领导小组
  • 昆山网站建设kshuituo用pc做网站服务器为什么不如云主机
  • 贵阳美容网站建设360搜索网站提交
  • 一个空间 多个网站网站开发研究前景
  • 四川代理网站建设的公司维护网站费用