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

嘉兴网站制作平台wordpress页眉页脚

嘉兴网站制作平台,wordpress页眉页脚,网站百度权重怎么提升,搜索引擎内部优化在C中#xff0c;指针是至关重要的组成部分。它是C语言最强大的功能之一#xff0c;也是最棘手的功能之一。 指针具有强大的能力#xff0c;其本质是协助程序员完成内存的直接操纵。 指针#xff1a;特定类型数据在内存中的存储地址#xff0c;即内存地址。 指针变量的定…在C中指针是至关重要的组成部分。它是C语言最强大的功能之一也是最棘手的功能之一。 指针具有强大的能力其本质是协助程序员完成内存的直接操纵。 指针特定类型数据在内存中的存储地址即内存地址。 指针变量的定义语法 先声明后赋值 变量类型 * 指针变量名; // 声明 指针变量名 内存地址值; // 赋值int num 10; int * p; // 声明 p num; // 赋值 - 变量类型如上int表示指针内存地址指向的内存区域存放的是整型数据               - *符号有两种含义              - 声明时*p表示变量p是指针变量存的是内存地址              - 使用时*p表示取指针p执行内存区域的数据               - 符号表示取变量内存地址是一个取内存地址的单目操作符 野指针和空指针 野指针被声明但未初始化赋值的指针。这个指针会指向随机的内存空间可能导致未知问题。 int * p; // 声明指针分配了8字节空间, p是野指针因为未被赋值 *p 10; // 将10赋予指针p所指向的空间*p 10是向未知的、随机的4字节内存区域修改存储值为10 为避免野指针应养成良好的变成习惯及时初始化或将指针置为空指针更为安全 int * p NULL; int * p nullptr;指针运算 int num 10; int *p num; cout p endl; // 结果0x20d1ff6e4; cout p endl; // 结果0x20d1ff6e8指针进行加减运算的结果和指针指向内存区域的数据类型有关以加法为例 char 类型指针 1 地址1 字节 int 类型指针1 地址4字节 double 类型指针1 地址8 字节 指针运算 数组对象本身记录的是内存地址第一个元素地址 可以通过指针运算完成使用指针存取数组元素。 int v[] {1, 2, 3, 4, 5}; int *p v; *p 11; // 赋值数组第一个元素 *(p1) 22; // 赋值数组第二个元素 *(p2) 33; // 赋值数组第三个元素 cout *p endl; // 取数组第一个元素 cout *(p1) endl; // 取数组第二个元素 cout *(p2) endl; // 取数组第三个元素 动态内存分配 动态内存分配即由程序员手动的进行内存空间的分配、内存空间的释放等内存管理操作。 C代码中变量、数组等对象的创建是由C自动分配内存的称之为自动静态内存分配。 自动静态内存管理是不会进行内存空间的自动清理的。无垃圾回收机制 我们需要手动的管理内存即手动分配用完清理。 手动管理方式 new运算符申请空间提供该空间的指针地址 delete运算符申请的空间仅用于new申请的空间 建议写完new后立刻写delete然后再写业务逻辑代码 int * p new int; // 申请int类型4字节空间 int * p new double; // 申请double类型8字节空间 delete p; // 删除申请的空间 int * p new int[5]; // 申请5元素int数组空间 delete[] p; // 删除申请的5元素数组空间优势 手动控制内存避免内存空间浪费 劣势 考验程序员水平用的好效率高用不好有反效果 new new运算符用于申请并分配内存空间 并提供指向该空间的指针内存地址 基本语法 new type 申请普通变量空间 new type[n] 申请数组空间 delete delete运算符用于释放内存 仅可用于new运算符申请的内存区域 基本语法 delete 指针 删除普通变量空间 delete[] 指针 删除数组空间 数组元素的插入举例 #include iostream using namespace std;/* 在下标1和3插入数字11和66 */int main() {// 示例数组int * pArr new int[5] {1, 3, 5, 7, 9};// 创建新数组int * pNewArr new int[7];// 循环新数组挨个进行元素填充非插入的位置填充老数组元素插入位置填充新元素int offset 0; // 偏移量用来控制新老数组元素的下标对照for (int i 0; i 7; i){if (i 1){// 走到了下标1应当执行新元素插入pNewArr[i] 11;offset; // 每插入一个新元素offset1continue;} else if (i 3){// 走到了下标3应当执行新元素插入pNewArr[i] 66;offset; // 每插入一个新元素offset1continue;}// 不是插入位置从老数组中提取元素放入新数组中// 公式老数组的元素下标 offset 新数组元素下标// 当前循环的i是新数组的元素下标pNewArr[i] pArr[i-offset];}// 收尾工作delete[] pArr;pArr pNewArr;// 将新数组的内容输出for (int i 0; i 7; i){cout pNewArr[i] ,;}return 0; }数组元素的删除举例 #include iostream using namespace std;int main() {// 示例数组int * pArr new int[5] {1, 3, 5, 7, 9};// 创建一个新的数组将需要保留的复制到新数组中int * pNewArr new int[4];// 循环去遍历老的数组将需要的元素放入新数组中不要的要跳过for (int i 0; i 5; i){if (i 2){continue;}if (i 2){pNewArr[i-1] pArr[i];}else{pNewArr[i] pArr[i];}}// 可选delete[] pArr; // 回收老数组的空间可选根据需要来说// 可选pArr pNewArr; // 将老数组的指针指向新数组的内存空间可选根据需要for (int i 0; i 4; i){cout 新数组的元素是 pNewArr[i] endl;cout 新数组的元素是 pArr[i] endl;}return 0; } 指针悬挂 指针指向区域已经被回收(delete)这种问题称之为指针悬挂。 不要轻易进行指针之间相互赋值 delete回收空间前确保此空间100%不再被使用 错误示范 int main() { int * p1 new int;int * p2 p1; // 将p1赋值给p2*p1 10; delete p1;cout p2指针记录的是 *p2 endl;return 0; } const指针 const是C关键字被译为常量const指针即表示常量指针。 const用来修饰常量不可更改可以配合指针使用 以int为例。 const int * p; 指向常量的指针即存储值不可变但指针可修改指向 int * const p 地址; 常量指针 存储的值可以变 指着不可修改指向 必须初始化指针的地址 const int * const p 地址; 指向常量的常量指针 存储的值和指针的指向均不可修改
http://www.w-s-a.com/news/502028/

相关文章:

  • 织梦做的网站如何上线广东省广州市番禺区南村镇
  • 网站设计的导航栏怎么做太原有网站工程公司吗
  • 苏州虎丘区建设局网站如何在一个数据库做两个网站
  • 淘宝天猫优惠券网站建设费用腾讯邮箱企业邮箱登录
  • 深圳福田做网站公司海航科技网站建设
  • 网站降权查询wordpress更换文章背景色
  • 大型电商网站开发金融企业网站建设公司
  • 成都营销型网站建设价格化妆品品牌推广方案
  • 深圳公司手机网站制作苏州网站推广哪家好
  • 网站建设开发方式包括购买学校网站建设费计入什么科目
  • 做简单网站的框架图中小微企业查询平台
  • 哪些网站可以免费做产品推广建设建设部网站
  • 网站开发销售怎么做django做网站
  • 淘宝客网站做百度竞价万网域名怎么绑定网站
  • 建设网站找哪个公司北京知名大公司有哪些
  • 专业彩票网站开发网站流量在哪设置
  • 网站建设对应的岗位榆林做网站公司
  • 网站建设公司怎么算专业js网站分页怎么做
  • 网和网站的区别phpcms和帝国cms哪个好
  • wordpress改网站名字长沙网络营销外包
  • 宝塔怎么做第二个网站网站内容设计遵循的原则有
  • 网站违反了 google 质量指南免费ppt模版网站
  • 郑州网站建设郑州网站建设成都那家网站建设好
  • 温州网站排名优化公司如何招聘软件网站开发人员
  • 成都 网站建设公司哪家好襄阳行业网站建设
  • wordpress 调用时间做网站seo的公司哪家好
  • 手机上网站搭建网站账户系统
  • 西乡网站的建设柳州建站
  • 宁夏网站建设怎么样互联网 网站设计
  • 成都关键词seo推广平台手机端关键词排名优化软件