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

amazon免费虚拟机做网站seo企业优化方案

amazon免费虚拟机做网站,seo企业优化方案,东昌府聊城做网站公司,dede 后台 不能保存网站名称C语言-指针 指针 指针的基本概念 指针的定义 指针:就是保存地址的变量 指针变量的定义: 类型名 *指针变量名 int i; int *p &i; //将变量i的地址存放在*p中,即p指向i int* p,q;等价于 int *p,q; //其中p是一个指向int类型的指针&a…

C语言-指针

指针

指针的基本概念

指针的定义

指针:就是保存地址的变量

指针变量的定义:

类型名 *指针变量名
int i;
int *p = &i; //将变量i的地址存放在*p中,即p指向i
int* p,q;等价于 int *p,q; //其中p是一个指向int类型的指针,而q是一个int类型的变量,所以*是加给了p而不是int,也就是说*p是int
int *p,*q; //表示p和q都是指针
char *pa; //定义一个指向字符型的指针变量
int *pb; //定义一个指向整型的指针变量

注意:

  • 指针变量的值是内存的地址
    • 普通变量的值是实际的值
    • 指针变量的值是具有实际值的变量的地址
指针作为参数
void f(int *p); //在被调用的时候得到了某个变量的地址
int i = 0;f(&i); //在函数里面可以通过指针当问外面的i

举例:

  • 指针存放地址
#include <stdio.h>
void f(int *p);int main(void)
{int i = 6;printf("&i = %p\n",&i); //打印i的地址f(&i); //将i的地址传递给指针preturn 0;
}void f(int *p)
{printf("p=%p\n",p);
}

结果如下:

在这里插入图片描述
26110200695.png&pos_id=img-G3sWvg4l-1749041525469)

上述结果表明,指针p里存放的是i的地址,而非变量数值

  • 通过指针访问变量值
#include <stdio.h>
void f(int *p);int main(void)
{int i = 6;printf("&i = %p\n",&i); //打印i的地址f(&i); //将i的地址传递给指针preturn 0;
}void f(int *p)
{printf("p = %p\n",p);printf("*p = %d\n",*p);
}

结果如下:

在这里插入图片描述

上述结果表明,p变量存放的是变量i的地址,而*p存放的是变量i的值

  • 通过指针修改变量值
#include <stdio.h>
void f(int *p);
void g(int k);
int main(void)
{int i = 6;printf("&i = %p\n",&i); //打印i的地址f(&i); //将i的地址传递给指针pg(i);return 0;
}void f(int *p)
{printf("p = %p\n",p);printf("*p = %d\n",*p);*p = 26;
}
void g(int k)
{printf("k = %d\n",k);
}

结果如下:

在这里插入图片描述

上述结果表明,当*p改变时,i的值也随之变化

  • 总结
    • 指针变量p用于访问地址
    • 变量*p用于访问和修改指针p指向地址所对应的数值
    • *p进行值的改变时,指针p指向的地址所对应的值也会随之改变(相当于覆盖)
关于scanf函数
int i;
scanf("%d",i); //语法错误
scanf("%d",&i); //正确写法

当出现上述错误写法时,编译器不会报错,因为i时整型的数值,和地址写法一样,例如:i = 6,将i直接传给scanf()时,scanf()函数会直接将i的数值6当作地址来处理,因此不会出现编译错误,但是运行一定会出错,因为scanf()函数将传入的数据写到了错误的地址上。要注意的是,在编写过程中,我们需要传入的是i的地址,即&i。

指针的应用场景

交换两个变量的值
#include <stdio.h>void swap(int *pa,int *pb);int main()
{int a = 5;int b = 6;swap(&a,&b);printf("a = %d,b = %d",a,b);return 0;
}
void swap(int *pa,int *pb) //用于交换变量值的函数
{//进行数值交换int t = *pa;*pa = *pb;*pb = t;
}

结果如下:

在这里插入图片描述

带回多个结果
  • 函数返回多个值,某些值就只能通过指针返回
  • 传入的参数实际上是需要保存带回的结果的变量
#include <stdio.h>void minmax(int a[],int len,int *max,int *min);int main(void)
{int a[] = {1,2,3,4,5,6,7,8,9,12,13,14,16,17,21,23,55};int min,max;minmax(a,sizeof(a)/sizeof(a[0]),&min,&max);printf("min = %d,max = %d\n",min,max);return 0;
}
void minmax(int a[],int len,int *max,int *min)
{int i;*min = *max = a[0];for(i = 1;i < len;i++){if(a[i] < *min){*min = a[i];}if(a[i] > *max){*max = a{i};}}
}

结果如下:

在这里插入图片描述

  • 函数的结果不止一个,需要通过指针把要接收的结果的变量地址传进去,经过函数加工后把值传回。
  • 虽然*min*max是作为参数传入的,但是其作用是将函数程序加工后的结果带回
通过指针返回运算状态
  • 函数返回运算的状态,结果通过指针返回

  • 常用的套路是让函数返回特殊的不属于有效范围内的值来表示出错

    -1或0(在文件操作系统中会看到大量的例子)

  • 当任何数值都是有效的可能结果时,就需要分开返回

http://www.dtcms.com/wzjs/311936.html

相关文章:

  • 网站建设 dw 时间轴网络营销顾问招聘
  • 哪里有学做视频的网站3佛山网站优化排名推广
  • 网站开发必看书籍武汉百度推广代运营
  • 专业网站建设课程短视频推广渠道有哪些
  • 岳阳做网站费用建站 seo课程
  • 用asp.net做的网站模板下载怎么制作网站平台
  • 沈阳医疗网站制作广州seo网站公司
  • 网站建设方向域名访问网站
  • 衡阳市网站建设公司网络推广专家
  • 网站开发者收入来源大数据查询平台
  • 网站建设市场需求分析推广有奖励的app平台
  • 深圳建设公司网站域名注册入口
  • php的网站怎么做的软文大全
  • 华硕建设公司网站seo招聘要求
  • 科技风格网站网络营销案例视频
  • 网站建设需要哪些素材百度服务中心官网
  • 杭州网站推广优化哪里好网络安全培训机构哪家好
  • 太原做网站如何制作一个网站
  • 顶呱呱网站建设价格百度一下就知道官网
  • 网站开发者id如何在百度推广自己的产品
  • 设计师对网站的意义百度门店推广
  • 中企动力制作的网站百度权重10的网站
  • win2008搭建php网站百度导航下载2020新版语音
  • 自己本地可以做网站服务器吗长春模板建站代理
  • 可视化网站制作火狐搜索引擎
  • 在哪查询网站做的哪些外链开封搜索引擎优化
  • 高校网站安全建设方案做外贸有哪些网站平台
  • 一级域名的网站怎么做电子商务营销策划方案
  • 织梦免费自适应网站模板最近几天新闻大事
  • 发展和建设委员会官方网站历下区百度seo