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

个体户可以网站备案吗站内seo优化

个体户可以网站备案吗,站内seo优化,qq企业邮箱注册申请,站长工具的网址1. 指针 指针就是存储的变量的地址,指针变量就是指针的变量。 1.1 空指针 当定义一个指针没有明确指向内容时,就可以将他设置为空指针 int* p NULL;这样对空指针的操作就会使程序崩溃而不会导致出现未定义行为,因为程序崩溃是宏观的&…

1. 指针

指针就是存储的变量的地址,指针变量就是指针的变量。

1.1 空指针

当定义一个指针没有明确指向内容时,就可以将他设置为空指针

int* p = NULL;

这样对空指针的操作就会使程序崩溃而不会导致出现未定义行为,因为程序崩溃是宏观的,被察觉的,未定义行为是不被察觉的。
所以在操作一个不明确指针的时候,最好对它进行判空处理。

if (p == NULL){//为空的处理
}

1.2 野指针

只要指针指向的内存区域是未知的,那么该指针就是野指针。
因为指向的内存区域未知,那么操作该指针就会导致未定义行为

1.3 指针的传参

C语言函数的传参都是值传递的
这意味着当调用函数时,传递给函数的是实际参数的副本,而不是参数本身。因此,函数内部对参数的修改不会影响外部的实际参数。
那为什么指针作为参数传递时就会直接改变其指向的内容呢?
那是因为指针作为实参传递给函数的形参,这个形参是实参的拷贝,但是实参的形参都指向的是同一个地址空间。 相当于:

int a = 10;
int* p1 = &a;
int* p2 = &a;

p1和p2是两个不同的指针变量,但存储的内容是一样的。
即对指向那片内存空间的指针做出解引用改变的操作就会发生数值的改变。

void swap(int* a, int* b) {int tmp = *a; *a = *b;*b = tmp;
}void swap_ptr(int* a, int* b) {int* tmp = a;a = b;b = tmp;
}
void swap_ptr_pro(int** pa, int** pb) {int* tmp = *pa;*pa = *pb;*pb = tmp;
}
int main() {int a = 10, b = 20;swap(&a, &b);//改变printf("%d %d\n", a, b);int* pa = &a, * pb = &b;swap_ptr(pa, pb);//不改变printf("%d %d\n", *pa, *pb);a = 10, b = 20;swap_ptr_pro(&pa, &pb);//改变printf("%d %d\n", *pa, *pb);printf("%d %d", a, b);return 0;
}

上述代码swap函数就可以交换a和b的值,但是swap_ptr就不行,因为它交换的指针变量,而不是指向的值,交换指针变量是不会有结果的,因为他只是拷贝。
第三个函数swap_ptr_pro更是重量级,我在第二个函数中想通过交换两个指针变量来实现数值的交换,相当于

int* pa = a;
int* pb = b;
//转化为
int* pa = b;
int* pb = a;

这样直接printf(“%d %d\n”, *pa, *pb);就可以交换两个值,但是第二个函数交换的只是拷贝,不能实现,所以第三个函数我直接传二级指针,直接对一级指针pa,pb做修改。*pa就相当于pa的地址,这次我的形参是int ** a, int ** b.和&pa,&pb指向的是同一块内存,所以可以直接修改pa和pb,以实现交换 *pa和 *pb的值。

但是

printf("%d %d\n", *pa, *pb);
printf("%d %d", a, b);

这两句运行出来结果不一样,为啥?
在这里插入图片描述
这是因为我只交换了*pa和 *pb的值,而不是a和b的值。
交换a,b的值需要pa和pb
交换 *pa和 *pb的值需要&pa,&pb。

2.数组名于指针的关系

数组名可以看作是不可改变指向的指针,数组名可以看作是指向首元素的指针

只有两种情况下数组名才不代表首元素地址:
1:sizeof(arr) 这种情况下计算的是数组一共占用多少字节
2:&arr 和 arr相区别,arr代表的是数组的首元素地址,&arr代表数组的地址

2.1 数组指针和指针数组

数组指针:本质是一个指针,是一个指向数组变量的指针

int arr[4];
int(*p)[4] = &arr;

指针数组:本质是一个数组,是一个存储指针变量的数组,即数组存储的元素是指针变量

int* p[3] = {&a, &b, &c};

2.2常量指针和指针常量

int main() {int a = 10;const int* p1 = &a;int* const p2 = &a;int const* p3 = &a;return 0;}

const int * p1 = &a;

  • 含义:p1 是一个指向 const int 的指针。
  • 解释:p1 指向的值是 const 的,即不能通过 p1 修改它所指向的值。

int * const p2 = &a;

  • 含义:p2 是一个指向 int 的常量指针。
  • 解释:p2 本身是 const 的,即不能修改 p2 指向的地址,但可以通过 p2 修改它所指向的值。

int const * p3 = &a;

  • 含义:p3 是一个指向 const int 的指针。
  • 解释:p3 指向的值是 const 的,即不能通过 p3 修改它所指向的值。

const右边是只有指针变量,就限制的是这个指针变量,即这个指针变量不能再指向其他的值
const右边还有int或者,那么限制的就是指针变量指向的值,即指针指向的值不能修改

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

相关文章:

  • 网站下载的wordpress模板如何添加青岛官网优化
  • 官方网站怎么制作重庆最新新闻头条
  • 手机版网站怎么上传名片设计
  • 网站建设教程模板网店装修定制
  • 网站空间购买时选择什么脚本语言百度58网络推广怎么做
  • 企业内部网站制作简单的网站维护
  • 安徽网站建设详细策划怎么建立网站推广
  • 海尔网站建设策划书珠海网站搜索引擎优化
  • 深建市住房和城乡建设局网站微信借口的网站怎么做
  • 网站建设报价费用是多少某购物网站开发项目
  • 网站建设1993seo手机ui界面设计
  • 网站 科技感app软件定制收费
  • 门户网站seo前期商城网站前端更新商品天天做吗
  • 个人做房产网站有哪些资料百度能搜到自己的网站
  • 南京企业网站广东东莞地图
  • 网站建设与维护面试用dw6做网站
  • 有哪些做二手的网站wordpress 地址设置
  • 社交网站开发语言网站建设经验做法和取得的成效
  • 上海聚众网站建设公司广东品牌网站建设平台
  • 平面设计网站制作网站没有地图怎么做
  • 做网站还有搞头吗推网怎么制作
  • 广州电子商城网站建设网站最便宜多少钱
  • 婚纱网站建设步骤和方法网站建设毕业设计综述
  • 站长之家网站建设毕业设计 旅游网站建设
  • 河池公司做网站wordpress企业建站教程
  • 网站seo具体怎么做天津 公司网站建设
  • 网站开发设计的技术路线青岛做网页设计
  • 婚恋网站上认识人 带你做原油交易快速建立平台网站开发网站模板设计
  • 开封网站制作哪家好管理多个wordpress博客
  • 哪做网站seo3的空间构型