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

网站开发pc端和手机端外贸建设网站公司

网站开发pc端和手机端,外贸建设网站公司,绵阳网站seo,优秀的网站通过什么提供信息目录 什么是指针 指针变量的定义 指针变量定义语法 注意 指针所占内存空间 空指针 野指针 函数指针 声明函数指针 初始化函数指针 使用函数指针调用函数 指针的使用 const修饰指针 const修饰指针 --- 指针常量#xff08;constant pointer#xff09; const修…目录 什么是指针 指针变量的定义 指针变量定义语法 注意 指针所占内存空间 空指针 野指针 函数指针 声明函数指针 初始化函数指针 使用函数指针调用函数 指针的使用 const修饰指针 const修饰指针 --- 指针常量constant pointer const修饰常量 --- 常量指针pointer to const const即修饰指针又修饰常量constant pointer to const 指针和数组 指针和函数 指针作为函数参数 返回指针的函数 函数指针 动态内存分配 什么是指针 C中的指针是一种变量它存储了一个内存地址。通过指针我们可以访问和修改这个内存地址中的数据。 内存编号是从0开始记录的一般用十六进制数字表示 可以利用指针变量保存地址也可以通过指针间接访问内存 指针变量的定义 指针变量定义语法 数据类型 * 变量名 int num 10; // 声明一个整数变量 int* ptr; ptr num ; // 将num的地址赋值给指针ptr int num 10; // 声明一个整数变量 int* ptr num; // 将num的地址赋值给指针ptr注意 普通变量存放的是数据指针变量存放的是地址利用指针可以记录地址 指针的声明需要指定所指向的数据类型可以使用 *  符号进行声明。 * 靠近数据类型或者靠近变量名都行意义一样。   int*  a;   相当于  int  *a; 我们可以通过 操作符取地址符获取变量的地址 指针变量可以通过 * 操作符操作指针变量指向的内存空间这个过程称为解引用 对指针变量解引用可以操作指针指向的内存及所指内存的数据 指针所占内存空间 在32位系统中指针通常占用4个字节32位而在64位系统中指针通常占用8个字节64位。需要注意的是由于不同系统和编译器的差异指针的大小可能会有一些变化但是通常情况下遵循上述的规律。指针的大小和指针所指向的类型无关。不论指针指向的是一个整数、字符、对象还是其他数据类型指针本身的大小是相同的。 空指针 空指针Null Pointer是指向内存中编号为0的空间的指针。可以使用字面值常量nullptr或关键字NULL来表示空指针。常用于初始化指针变量。 int* ptr NULL; // 使用NULL初始化指针// int* ptr nullptr; // 使用nullptr初始化指针空指针可以作为合法的指针值存在是一个特殊的指针值表示指针不引用任何对象或函数。对空指针进行解引用或访问其指向的内容会导致未定义的行为。 野指针 野指针Wild Pointer是指向非法的内存空间的指针变量指向的内存地址是未知、无效或未初始化的。野指针的出现通常是由于指针变量没有被正确初始化或者在释放了指针所指向的内存后仍然保留了指向已释放内存的指针。对野指针进行解引用或访问其指向的内容同样会导致未定义的行为。为了避免野指针的出现我们应该始终确保指针在使用之前被正确初始化且在不再需要时及时对指针进行释放或重置。 int * p (int *)0x1100;//指针变量p指向内存地址编号为0x1100的空间 cout *p endl;//访问野指针报错 函数指针 函数指针是指向函数的指针变量。它可以存储函数的地址并且可以通过该指针来间接调用函数。函数指针允许我们以更灵活的方式使用函数可以将函数作为参数传递给其他函数或者将函数指针作为结构体的成员进行操作。 声明函数指针 使用 (*指针变量名) 来声明一个函数指针变量括号中是指针变量的名称。 int (*funcPtr)(int, int); // 声明一个函数指针变量 初始化函数指针 将函数指针指向一个具体的函数可以直接将函数的名称赋值给函数指针。 funcPtr add; // 将函数指针指向 add 函数 使用函数指针调用函数 通过函数指针来间接调用相应的函数。 int result funcPtr(5, 3); // 使用函数指针调用函数 指针的使用 const修饰指针 总结指针常量即指针是常量常量指针即常量的指针。 const修饰指针 --- 指针常量constant pointer 指针本身是一个常量不能修改指针的值但可以通过指针访问和修改指向的变量。 int x 5; int* const ptr x; // ptr 是一个指向整数的常量指针 *ptr 10; // 可以通过 ptr 修改所指向的变量的值即 x 的值被修改为 10 // ptr nullptr; // 错误不能修改指针的值const修饰常量 --- 常量指针pointer to const 指针指向的对象是一个常量不能通过指针修改对象的值。 int x 5; const int* ptr x; // ptr 是一个指向常量整数的指针 // *ptr 10; // 错误不能通过 ptr 修改所指向的常量的值 x 10; // 可以直接修改变量的值 ptr nullptr; // 可以修改指针的值const即修饰指针又修饰常量constant pointer to const 既不能修改指针的值也不能通过指针修改所指向的常量的值。 const int* const ptr x; // ptr 是一个指向常量整数的常量指针 // *ptr 10; // 错误不能通过 ptr 修改所指向的常量的值 // ptr nullptr; // 错误不能修改指针的值指针和数组 数组名本身就是一个指向数组首元素的指针可以通过指针遍历数组元素。 例如 int arr[] {1, 2, 3}; int* ptr arr; 将数组名 arr 的地址赋给指针 ptr然后可以通过操作指针来访问数组元素。 例如 *ptr 是第一个元素*(ptr 1) 是第二个元素 可以把指针当数组用也能把数组当指针用 指针和函数 利用指针作函数参数可以修改实参的值如果不想修改实参就用值传递如果想修改实参就用地址传递。 指针作为函数参数 可以将指针作为函数的参数通过指针传递数据或者修改指针指向的数据。这样可以避免在函数中进行大量的数据复制提高程序的效率。 void updateValue(int* ptr) {*ptr 10; // 修改指针指向的数据 } int main() {int x 5;updateValue(x); // 将 x 的地址传递给函数// 现在 x 的值变为 10return 0; }返回指针的函数 函数可以返回指针类型的值这样可以返回动态分配的内存地址或者现有变量的地址等。但需要注意在返回指针之前确保指针指向的数据仍然有效。 int* createArray() {int* arr new int[5]; // 动态分配一个 int 数组for (int i 0; i 5; i) {arr[i] i1;}return arr; // 返回数组的首地址 } int main() {int* ptr createArray(); // 接收返回的指针// 使用指针访问数组的元素for (int i 0; i 5; i) {cout ptr[i] ; // 输出: 1 2 3 4 5}delete[] ptr; // 释放动态分配的内存return 0; }函数指针 见上文 动态内存分配 使用 new 关键字可以在堆上动态分配内存并返回一个指向分配内存的指针。 int* ptr new int;//动态分配了一个整数大小的内存并将其地址赋给指针 ptr。delete ptr;//使用完毕后需要使用 delete 关键字释放动态分配的内存
http://www.pierceye.com/news/432977/

相关文章:

  • 上海设计网站与太原免费网络推广哪里朿
  • 网站前端建设需要学会什么珠海网站优化公司
  • 北京微网站wordpress添加代码运行
  • 浙江省住房和城乡建设厅网站网站开发流程博客
  • 网站刷流量会怎么样广东网站备案时间
  • 昆明企业建站模板如何做网站品类
  • 学做网站去哪学网站开发app开发
  • 如何编写网站建设销售的心得网页设计制作方法
  • seo工具网站课程网站建设的步骤
  • 商务网站的类型一共有几大类小程序搜索排名帝搜sem880官网
  • 做海报的高清模板的网站诛仙3官方网站做花灯答案
  • 好用的网站后台管理系统黑龙江最新通知今天
  • 做招聘网站需要多少钱als冰桶挑战赛的网络营销方式
  • wordpress单位内网做网站云南省文山州网站建设
  • 单页网站制作视频教程四川餐饮培训学校排名
  • 微信公众平台网站建设wordpress中英切换
  • 万网x3主机l系统放两个网站自学设计的网站
  • 网站微信建设运维经验分享图营销app
  • 西安网站开发软件常州注册公司
  • 和网站建设相关的行业企业网络规划设计方案
  • 风中有朵雨做的云网站观看开网店教程
  • 网站建设与管理教学视频教程服务器绑定网站打不开
  • 百度云建站WordPress开发新客户的十大渠道
  • 南宁比优建站视屏网站的审核是怎么做的
  • 怎样建设尧都水果网站免费手机网站建站系统
  • 全网营销提供seo服务
  • 吕梁网站设计服务器网站建设维护合同
  • 网站轮播图片怎么做高校网站建设模板
  • 易语言做返利网站企业培训考试平台官网
  • 天津做不锈钢的网站做网站要几个部门组成