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

云服务器怎么上传网站求一个做交通分析的底图网站

云服务器怎么上传网站,求一个做交通分析的底图网站,网站开发合同有效期,十堰公司做网站目录 一、指针的本质:内存地址的直接操作 二、指针的操作 2.1指针的定义与语法 2.2直接访问与间接访问 2.3函数传参方式 三、指针的运算 3.1指针与整数的加减法 3.2指针与指针的减法 3.3指针的比较运算 3.4指针的递增和递减运算 四、指针与数组 指针是 C …

目录

一、指针的本质:内存地址的直接操作

二、指针的操作

2.1指针的定义与语法

2.2直接访问与间接访问

2.3函数传参方式

三、指针的运算

3.1指针与整数的加减法

3.2指针与指针的减法

3.3指针的比较运算

3.4指针的递增和递减运算

四、指针与数组


指针是 C 语言最强大、也最具挑战性的特性之一。理解指针不仅能让你编写出更高效的代码,还能深入了解计算机内存的工作原理。正确灵活运用指针,可以有效地表示复杂的数据结构;能动态分配内存;方便的使用字符串;有效而方便的使用数组等等。本文将从基础知识到高级应用,全面解析 C 语言指针的奥秘。

一、指针的本质:内存地址的直接操作

在计算机中,每个变量都存储在内存中的某个位置,这个位置有一个唯一的地址。指针就是地址,内存单元的编号。指针是一种具有指向含义的数据,它不仅是数值,还表示对内存空间的引用。计算机通过处理数据解决问题,变量用于存储数据,而指针用于引用变量的地址。指针变量就是用来存储这些内存地址的特殊变量。

二、指针的操作

2.1指针的定义与语法

  • 定义指针变量的语法形式为:基类型 * 指针变量名
    • 基类型表示指针指向的内存空间中存放的数据类型。
    • 星号(*)表示这是一个指针变量。
  • 指针变量本身是一个变量,需要在内存中占据空间。
 int *ptr;           // 声明一个指向整型的指针ptr = #         // 将num的地址赋给指针ptr

 此时将ptr定义为整型指针变量,ptr中储存的是num的地址,*ptr内储存的是num的值。

2.2直接访问与间接访问

C 语言函数参数传递默认是直接访问,通过变量名访问其值,但通过指针,我们可以实现间接访问,用过指针访问其所指向的变量值,此时允许函数修改调用者的变量。级被调函数修改主调函数。

2.3函数传参方式

  • 值传递(直传递):将实参的值复制给形参,不会影响原变量。
  • 地址传递(指针传递):将实参的地址传递给形参,可以在被调函数中修改主调函数中的变量。
  • 核心实现:要修改哪个变量,就将该变量的地址传递给被调函数,并在被调函数中进行间接访问操作。

三、指针的运算

C 语言支持四种基本的指针运算:

3.1指针与整数的加减法

通过指针与整数的加减法可以实现地址的变化,例如指针加一表示跳过一个基类型的大小

// 指针与整数的加法printf("ptr = %p, *ptr = %d\n", ptr, *ptr);printf("ptr + 1 = %p, *(ptr + 1) = %d\n", ptr + 1, *(ptr + 1));printf("ptr + 2 = %p, *(ptr + 2) = %d\n", ptr + 2, *(ptr + 2));// 指针与整数的减法printf("ptr + 4 = %p, *(ptr + 4) = %d\n", ptr + 4, *(ptr + 4));printf("ptr + 4 - 2 = %p, *(ptr + 4 - 2) = %d\n", ptr + 4 - 2, *(ptr + 4 - 2));

3.2指针与指针的减法

// 指针与指针的减法int *ptr2 = ptr + 3;printf("ptr2 - ptr = %ld\n", ptr2 - ptr);  // 输出元素个数差

3.3指针的比较运算

// 指针的比较printf("ptr < ptr2: %d\n", ptr < ptr2);printf("ptr == ptr2: %d\n", ptr == ptr2);

3.4指针的递增和递减运算

// 指针的递增和递减ptr++;  // 等价于 ptr = ptr + 1printf("ptr++ 后: ptr = %p, *ptr = %d\n", ptr, *ptr);ptr--;  // 等价于 ptr = ptr - 1printf("ptr-- 后: ptr = %p, *ptr = %d\n", ptr, *ptr);

四、指针与数组

回顾数组的一些知识,数组名代表数组类型,以及代表首元素的地址,这就与指针产生了联系,指针可以通过加法访问数组中的每个元素,类似于定义数组时[]内为首地址的偏移量。

  • 示例:指针迭代:通过指针遍历数组并打印每个元素的值。
    • 使用指针从起始位置到结束位置逐一访问数据。
    • 灵活性在于可以选择任意范围的数据进行操作。
void printArray(int *begin,int *end)
{while(begin<=end){printf("%d\n",*begin);begin++;}
}
int main(void)
{int a[10] = {1,2,3,4,5,6,7,8,9,10};int len = sizeof(a)/sizeof(a[0]);printArray(a,a+len-1);
}


文章转载自:

http://3oYfJtpB.kpygy.cn
http://FfaSRGUM.kpygy.cn
http://F0dhUu7W.kpygy.cn
http://fV79VQsx.kpygy.cn
http://Yq64yriV.kpygy.cn
http://98oilRlz.kpygy.cn
http://fYnIQjjy.kpygy.cn
http://0prY1juG.kpygy.cn
http://EfH7oNgZ.kpygy.cn
http://OLRkjlw5.kpygy.cn
http://hJMl8dXm.kpygy.cn
http://Zt3RJesc.kpygy.cn
http://fabqHGDv.kpygy.cn
http://QRtDhCMD.kpygy.cn
http://pBfYTjoS.kpygy.cn
http://Dc02oiac.kpygy.cn
http://LqmlPtiq.kpygy.cn
http://34trakHH.kpygy.cn
http://g7TWxOrT.kpygy.cn
http://YOeUg4Gl.kpygy.cn
http://W73lXoNp.kpygy.cn
http://JngFwt3m.kpygy.cn
http://x10MHRIu.kpygy.cn
http://iaD5GQkm.kpygy.cn
http://pgcdCtd1.kpygy.cn
http://cHtxbzKh.kpygy.cn
http://XabkYwnz.kpygy.cn
http://vuMtLoPz.kpygy.cn
http://38kLV5mq.kpygy.cn
http://N0FwQJ5s.kpygy.cn
http://www.dtcms.com/wzjs/650701.html

相关文章:

  • 多多淘宝客网站百度包头网站建设
  • 十八哥公司网站开发佛山做网站费用
  • 小型网站设计及建设论文工商网企业信息查询系统营业执照
  • 驻马店哪家做网站好做网站建设的怎么寻找客户
  • 站长工具2023最新国产网站增值服务
  • 做情趣网站违法吗wordpress托管是什么意思
  • 邢台建设专业网站什么平台可以发广告免费
  • seo网站标题新余做网站公司
  • 新吁网站建设国内知名的app开发
  • 手机网站设计尺寸大小餐饮公司企业网站源码
  • 原画师平台关键词排名优化
  • 九江建设监督网站服装设计方案
  • 易语言怎么做ifa网站填表seo公司赚钱吗
  • wordpress注册页插件南宁网站seo公司
  • 网站建设最高管理权限android 解析 wordpress
  • 教人做美食的网站网站详情怎么做的
  • 建筑网站知乎网站的后台地址
  • 网站建设预付款云阳做网站
  • 大厂县网站建设或SEO优化做刷单哪个网站找小白
  • 帝国cms网站名称免费的wordpress模板下载地址
  • 做公司网站都需要付什么费用网上智慧团建网站
  • 网页制作制作网站wordpress产品系统
  • 百度做网站为什么上阿里云备案wordpress首页全屏插件
  • 如何建立简单网站广州定制网站建设方案书
  • 济宁市建设局网站wordpress admin-ajax.php
  • 手机cms建站系统购物网站前台功能模块分析
  • 做网站怎样租用虚拟空间设计平台什么意思
  • 做网站优化的教程网络建设与运维技能大赛中职组
  • 广西seo网站推广wordpress附件分离
  • 高校网站建设管理办法手机网站的模板下载软件