vscode 网站开发教程怎么设置wordpress头像

news/2025/9/24 1:58:57/文章来源:
vscode 网站开发教程,怎么设置wordpress头像,保定市最新消息今天,均安网站建设(给CPP开发者加星标#xff0c;提升C/C技能)作者#xff1a;C语言与CPP编程 / 自成一派123(本文来自作者投稿)1为什么使用指针假如我们定义了 char a’A’ #xff0c;当需要使用 ‘A’ 时#xff0c;除了直接调用变量 a #xff0c;还可以定义 char *pa #xff0c… (给CPP开发者加星标提升C/C技能)作者C语言与CPP编程 / 自成一派123(本文来自作者投稿)1为什么使用指针假如我们定义了 char a’A’ 当需要使用 ‘A’ 时除了直接调用变量 a 还可以定义 char *pa 调用 a 的地址即指向 a 的指针 p 变量 a( char 类型)只占了一个字节,指针本身的大小由可寻址的字长来决定指针 p 占用 4 个字节。但如果要引用的是占用内存空间比较大东西用指针也还是 4 个字节即可。使用指针型变量在很多时候占用更小的内存空间。变量为了表示数据指针可以更好的传递数据举个例子第一节课是 1 班语文 2 班数学第二节课颠倒过来 1 班要上数学 2 班要上语文那么第一节课下课后需要怎样作调整呢方案一课间 1 班学生全都去 2 班 2 班学生全都来 1 班当然走的时候要携带上书本、笔纸、零食……场面一片狼藉方案二两位老师课间互换教室。显然方案二更好一些方案二类似使用指针传递地址方案一将内存中的内容重新“复制”了一份效率比较低。在数据传递时如果数据块较大可以使用指针传递地址而不是实际数据即提高传输速度又节省大量内存。一个数据缓冲区 char buf[100] 如果其中 buf[0,1] 为命令号, buf[2,3] 为数据类型, buf[4~7] 为该类型的数值类型为 int 使用如下语句进行赋值*(short*)buf[0]DataId;*(short*)buf[2]DataType;*(int*)buf[4]DataValue;数据转换利用指针的灵活的类型转换可以用来做数据类型转换比较常用于通讯缓冲区的填充。指针的机制比较简单其功能可以被集中重新实现成更抽象化的引用数据形式函数指针形如: #define PMYFUN (void*)(int,int) 可以用在大量分支处理的实例当中如某通讯根据不同的命令号执行不同类型的命令则可以建立一个函数指针数组进行散转。在数据结构中链表、树、图等大量的应用都离不开指针。2 指针是什么操作系统将硬件和软件结合起来给程序员提供的一种对内存使用的抽象这种抽象机制使得程序使用的是虚拟存储器,而不是直接操作和使用真实存在的物理存储器。所有的虚拟地址形成的集合就是虚拟地址空间。内存是一个很大的线性的字节数组每个字节固定由 8 个二进制位组成每个字节都有唯一的编号如下图这是一个 4G 的内存他一共有 4x1024x1024x1024 4294967296 个字节那么它的地址范围就是 0 ~ 4294967296 十六进制表示就是 0x000000000xffffffff 当程序使用的数据载入内存时都有自己唯一的一个编号这个编号就是这个数据的地址。指针就是这样形成的。1#include int main(void){    char ch  a;    int  num  97;    printf(ch 的地址:%p\n,ch);       //ch 的地址:00BEFDF7    printf(num的地址:%p\n,num);      //num的地址:00BEFDF8    return 0;}指针不仅可以表示变量的地址还可以存储各种类型数据的地址指针变量是用来保存这些地址的变量与数组类似依据地址存放的数据类型指针也分为 int 指针类型  double 指针类型 char 指针类型等等。综上指针的实质就是数据在内存中的地址而指针变量是用来保存这些地址的变量。指针变量 和 指向关系用来保存 指针 的变量就是指针变量。如果指针变量p保存了变量 num的地址则就说p指向了变量num也可以说p指向了num所在的内存块指针变量pp指向了p所在的内存块以下面为例#include int main(void){  int num  97;  char ch  a;  int *p   num;  int **pp  p;  char *p1   ch;  printf(num 的地址:%p\n,num);     printf(指针p的值:%p\n,p);     printf(指针p的地址:%p\n,p);    printf(指针pp的值:%p\n,pp);   printf(ch 的地址:%p\n,ch);    return 0;}运行结果int型的num值为97占4个字节内存地址为:0113F924char 型的ch(a)值为97占1个字节内存地址为:0113F91B。int型占4个字节char型占1个字节num的地址为0113F924num的值为 97 指针 p 指向 num 的内存块指针 p 地址为0113F90Cp的内存保存的值就是num的地址0113F924。0x0113F90C存储的内容为地址0113F924指针变量 pp 指向 指针 p指针 pp 内存值为 指针 p 的地址0113F90C形成了只想指针的指针。指针pp为指向指针p的指针定义指针变量C语言中定义变量时在变量名 前 写一个 * 星号这个变量就变成了对应变量类型的指针变量。必要时要加( ) 来避免优先级的问题。引申C语言中定义变量时在定义的最前面写上typedef 那么这个变量名就成了一种类型即这个类型的同义词。int a ; //int类型变量 aint *a ; //int* 变量aint arr[3]; //arr是包含3个int元素的数组int (* arr )[3]; //arr是一个指向包含3个int元素的数组的指针变量int* p_int; //指向int类型变量的指针 double* p_double; //指向idouble类型变量的指针 struct Student *p_struct; //结构体类型的指针int(*p_func)(int,int); //指向返回类型为int有2个int形参的函数的指针 int(*p_arr)[3]; //指向含有3个int元素的数组的指针 int** p_pointer; //指向 一个整形变量指针的指针取地址既然有了指针变量那就得让他保存其它变量的地址使用 运算符取得一个变量的地址。int add(int a , int b){    return a  b;}int main(void){    int num  97;    float score  10.00F;    int arr[3]  {1,2,3};    int* p_num  num;    float* p_score  score;    int (*p_arr)[3]  arr;               int (*fp_add)(int ,int )   add;  //p_add是指向函数add的函数指针    return 0;}特殊的情况他们并不一定需要使用取地址数组名的值就是这个数组的第一个元素的地址。函数名的值就是这个函数的地址。字符串字面值常量作为右值时就是这个字符串对应的字符数组的名称,也就是这个字符串在内存中的地址。int add(int a , int b){    return a  b;}int main(void){    int arr[3]  {1,2,3};    int* p_first  arr;    int (*fp_add)(int ,int )    add;    const char* msg  Hello world;    return 0;}解地址对一个指针解地址就可以取到这个内存数据解地址 的写法就是在指针的前面加一个 * 号。解指针的实质是从指针指向的内存块中取出这个内存数据。int main(void){    int age  19;    int*p_age  age;    *p_age   20;  //通过指针修改指向的内存数据    printf(age  %d,*p_age);   //通过指针读取指向的内存数据    printf(age  %d,age);    return 0;}空指针空指针在概念上不同于未初始化的指针。空指针可以确保不指向任何对象或函数而未初始化的指针则可能指向任何地方。空指针不是野指针。在C语言中我们让指针变量赋值为NULL表示一个空指针而C语言中NULL实质是 ((void*)0)  在C中NULL实质是0。#ifdef __cplusplus     #define NULL    0#else         #define NULL    ((void *)0)#endifvoid*类型指针void是一种特殊的指针类型可以用来存放任意对象的地址。一个void指针存放着一个地址这一点和其他指针类似。不同的是我们对它到底储存的是什么对象的地址并不了解。double a2.3;int b5;void *pa;coutpb;cout//cout由于void是空类型只保存了指针的值而丢失了类型信息我们不知道他指向的数据是什么类型的只指定这个数据在内存中的起始地址如果想要完整的提取指向的数据程序员就必须对这个指针做出正确的类型转换然后再解指针。数组和指针同类型指针变量可以相互赋值数组不行只能一个一个元素的赋值或拷贝数组在内存中是连续存放的开辟一块连续的内存空间。数组是根据数组的下进行访问的。指针很灵活它可以指向任意类型的数据。指针的类型说明了它所指向地址空间的内存。数组所占存储空间的内存sizeof(数组名) 数组的大小sizeof(数组名)/sizeof(数据类型)在32位平台下无论指针的类型是什么sizeof(指针名)都是 4 在 64 位平台下无论指针的类型是什么sizeof(指针名)都是 8 。数组名作为右值的时候就是第一个元素的地址int main(void){    int arr[5]  {1,2,3,4,5};    int *p_first  arr;    printf(%d,*p_first);  //1    return 0;}指向数组元素的指针 支持 递增 递减 运算。p p1意思是让p指向原来指向的内存块的下一个相邻的相同类型的内存块。在数组中相邻内存就是相邻下标元素。函数与指针函数的参数和指针C语言中实参传递给形参是按值传递的也就是说函数中的形参是实参的拷贝份形参和实参只是在值上面一样而不是同一个内存数据对象。这就意味着这种数据传递是单向的即从调用者传递给被调函数而被调函数无法修改传递的参数达到回传的效果。void change(int a){    a;      //在函数中改变的只是这个函数的局部变量a而随着函数执行结束a被销毁。age还是原来的age纹丝不动。}int main(void){    int age  60;    change(age);    printf(age  %d,age);   // age  60    return 0;}有时候我们可以使用函数的返回值来回传数据在简单的情况下是可以的但是如果返回值有其它用途(例如返回函数的执行状态量)或者要回传的数据不止一个返回值就解决不了了。传递变量的指针可以轻松解决上述问题。void change(int* pa){    (*pa);   //因为传递的是age的地址因此pa指向内存数据age。当在函数中对指针pa解地址时               //会直接去内存中找到age这个数据然后把它增1。}int main(void){    int age  160;    change(age);    printf(age  %d,age);   // age  61    return 0;}比如指针的一个常见的使用例子#include #include #include void swap(int *,int *);int main(){    int a5,b10;    printf(a%d,b%d\n,a,b);    swap(a,b);    printf(a%d,b%d\n,a,b);    return 0;}void swap(int *pa,int *pb){    int t*pa;*pa*pb;*pbt;}在以上的例子中swap函数的两个形参pa和pb可以接收两个整型变量的地址并通过间接访问的方式修改了它指向变量的值。在main函数中调用swap时提供的实参分别为a,b这样就实现了paa,pbb的赋值过程这样在swap函数中就通过*pa修改了 a 的值通过*pb修改了 b 的值。因此如果需要在被调函数中修改主调函数中变量的值就需要经过以下几个步骤定义函数的形参必须为指针类型以接收主调函数中传来的变量的地址调用函数时实参为变量的地址在被调函数中使用*间接访问形参指向的内存空间实现修改主调函数中变量值的功能。指针作为函数的形参的另一个典型应用是当函数有多个返回值的情形。比如需要在一个函数中统计一个数组的最大值、最小值和平均值。当然你可以编写三个函数分别完成统计三个值的功能。但比较啰嗦如int GetMax(int a[],int n){    int maxa[0],i;    for(i1;i    {        if(max    }    return max;}int GetMin(int a[],int n){    int mina[0],i;    for(i1;i    {        if(mina[i]) mina[i];    }    return min;}double GetAvg(int a[],int n){    double avg0;    int i;    for(i0;i    {        avga[i];    }    return avg/n;}其实我们完全可以在一个函数中完成这个功能由于函数只能有一个返回值可以返回平均值最大值和最小值可以通过指针类型的形参来进行实现double Stat(int a[],int n,int *pmax,int *pmin){    double avga[0];    int i;    *pmax*pmina[0];    for(i1;i    {        avga[i];        if(*pmax        if(*pmina[i]) *pmina[i];    }    return avg/n;}函数的指针一个函数总是占用一段连续的内存区域函数名在表达式中有时也会被转换为该函数所在内存区域的首地址。我们可以把函数的这个首地址赋予一个指针变量使指针变量指向函数所在的内存区域然后通过指针变量就可以找到并调用该函数。这种指针就是函数指针。函数指针的定义形式为returnType (*pointerName)(param list);returnType 为函数返回值类型pointerNmae 为指针名称param list 为函数参数列表。参数列表中可以同时给出参数的类型和名称也可以只给出参数的类型省略参数的名称这一点和函数原型非常类似。用指针来实现对函数的调用#include //返回两个数中较大的一个int max(int a, int b){    return ab ? a : b;}int main(){    int x, y, maxval;    //定义函数指针    int (*pmax)(int, int)  max;  //也可以写作int (*pmax)(int a, int b)    printf(Input two numbers:);    scanf(%d %d, x, y);    maxval  (*pmax)(x, y);    printf(Max value: %d\n, maxval);    return 0;}结构体和指针结构体指针有特殊的语法 - 符号如果p是一个结构体指针则可以使用 p -【成员】 的方法访问结构体的成员typedef struct{    char name[31];    int age;    float score;}Student;int main(void){    Student stu  {Bob , 19, 98.0};    Student*ps  stu;    ps-age  20;    ps-score  99.0;    printf(name:%s age:%d,ps-name,ps-age);    return 0;}const 和 指针指向常量的指针值不能改变指向可改变常指针值能改变指向不可改变指向常量的常指针都不能改变#include  int main(){  // 1 可改变指针  const int a  10;  int *p  a;  *p  1000;  printf(*p  %d\n, *p);   // 2 可改变指针  const b  10;  int *pb  b;  pb  p;  printf(*pb  %d\n, *pb);   // 3  const c  10;  int * const pc  c;  *pc  1000;  //pc  pb;不能改变   //4  const d  10;  const * int const pd  d;  //*pd  1000; 不能改变    printf(\n);  return 0;}深拷贝和浅拷贝如果2个程序单元(例如2个函数)是通过拷贝 他们所共享的数据的 指针来工作的这就是浅拷贝因为真正要访问的数据并没有被拷贝。如果被访问的数据被拷贝了在每个单元中都有自己的一份对目标数据的操作相互 不受影响则叫做深拷贝。#include using namespace std;class CopyDemo{public:  CopyDemo(int pa,char *cstr)  //构造函数两个参数  {     this-a  pa;     this-str  new char[1024]; //指针数组动态的用new在堆上分配存储空间     strcpy(this-str,cstr);    //拷贝过来  }//没写C会自动帮忙写一个复制构造函数浅拷贝只复制指针,如下注释部分  //CopyDemo(CopyDemo obj)    //{  //   this-a  obj.a;  //  this-str  obj.str; //这里是浅复制会出问题要深复制  //}  CopyDemo(CopyDemo obj)  //一般数据成员有指针要自己写复制构造函数如下  {     this-a  obj.a;    // this-str  obj.str; //这里是浅复制会出问题要深复制     this-str  new char[1024];//应该这样写     if(str ! 0)        strcpy(this-str,obj.str); //如果成功把内容复制过来  }  ~CopyDemo()  //析构函数  {     delete str;  }public:     int a;  //定义一个整型的数据成员     char *str; //字符串指针};int main(){  CopyDemo A(100,hello!!!);  CopyDemo B  A;  //复制构造函数把A的10和hello!!!复制给B  cout A:,   //输出A:100hello!!!  cout B:,   //输出B:100hello!!!  //修改后,发现A,B都被改变原因就是浅复制A,B指针指向同一地方修改后都改变  B.a  80;  B.str[0]  k;  cout A:,   //输出A:100kello!!!  cout B:,   //输出B:80kello!!!  return 0;}根据上面实例可以看到浅复制仅复制对象本身(其中包括是指针的成员)这样不同被复制对象的成员中的对应非空指针会指向同一对象被成员指针引用的对象成为共享的无法直接通过指针成员安全地删除(因为若直接删除另外对象中的指针就会无效形成所谓的野指针而访问无效指针是危险的除非这些指针有引用计数或者其它手段确保被指对象的所有权)而深复制在浅复制的基础上连同指针指向的对象也一起复制代价比较高但是相对容易管理。参考资料   C Primer Plus(第五版)中文版https://www.cnblogs.com/lulipro/p/7460206.html- EOF -推荐阅读  点击标题可跳转1、C语言为何不会过时你需要掌握多少种语言2、48 岁的 C 语言你知道它背后的历史吗3、一文读懂 C 语言与 C 动态内存看完本文有帮助请分享给更多人关注「CPP开发者」加星标提升C/C技能好文章我在看❤️

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914541.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哪一个平阳网站建设搜索引擎的关键词优化

一、下载安装 https://code.visualstudio.com/ 二、安装插件 三、使用 ①、创建一个空目录 ②、利用vscode工具打开该目录 ③、将该目录设置为工作区 在工作区中添加文件,还可以进行浏览器访问(提前安装了Live Server插件) 为工具…

移动电子商务网站建设网站会员系统模板

本文转载自公众号:浙大KG。 论文题目:Meta-Learning with Dynamic-Memory-Based Prototypical Network for Few-Shot Event Detection本文作者:邓淑敏,浙江大学在读博士,研究方向为低资源条件下知识图谱自动化构建关键…

网站建设开发制作苏州优化亚当

思路 我们首先要知道数据中,哪两列能够体现父子级我们需要找到最顶层父 id 是什么,因为只有知道最顶层的父 id,我们才能进行递归我们要在不改变数据的原有结构下,而转换为 Tree 结构,那么就需要创建新的结构 代码 /…

如何选择网站开发语言企业信用信息查询系统官网(全国)

快速流媒体 当Java 8最终问世时,我和一些大学开始了一个开源项目,以利用Java 8的流库使整个Java / DB问题进一步向前发展,以便将数据库表视为纯Java 8流。 速度诞生了! 哇,现在我们可以做类型安全的数据库应用程序了&a…

手机精品网站建设取消wordpress激活邮件

一 fgets(resource $stream, ?int $length null) 从文件指针中读取一行。 返回字符串,如果文件指针中没有更多的数据了则返回 false。错误发生时返回 false。 $stream 为文件资源,必须指向fopen()或fscokopen()成功打开的文件。文件打开之后&#x…

制作营销网站公司英才网

背景: 在分布式中,最难解决的一个问题就是多个节点间数据同步问题。为了解决这样的问题,涌现出了各种奇思妙想。只有在解决了如何进行信息同步的基础之上才衍生出形形色色的应用。这里开始介绍几种分布式通信协议。 简单即有效——totem协议:…

网站建设案例步骤房产网站排行

循环结构 1.1遍历循环结构for 1.1.1遍历循环for (1)遍历循环for的语句结构: for 循环遍历 in 遍历对象: 语句块 程序执行: (2)示例: #遍历字符串 for i in hello:print(i) #range()函数,python中的内…

仙居网站建设贴吧百度一下手机版网页

Jdk 1.8 for mac 详细安装教程(含版本切换) 官网下载链接 https://www.oracle.com/cn/java/technologies/downloads/#java8-mac 一、选择我们需要安装的jdk版本,这里以jdk8为例,下载 macOS 版本,M芯片下载ARM64版本…

网站建设公司六安旅游景点网页设计作品

【React】前端项目引入阿里图标 方式11、登录自己的iconfont-阿里巴巴矢量图标库,把需要的图标加入到自己的项目中去;2、加入并进入到项目中去选择Font class 并下载到本地3、得到的文件夹如下4. 把红框中的部分粘贴到自己的项目中(public 文…

wordpress手机端网站模板下载商城网站建设如何交谈

高斯金字塔和拉普拉斯金字塔【1】在图像相关领域应用广泛,尤其是图像融合和图像分割方面。本文从理论和opencv实现两个方面对两种金字塔进行了介绍,并给出了二者的视觉效果。1、高斯金字塔在计算机视觉与图像处理相关任务中,经常需要使用同一…

建设网站的价格表安卓优化大师破解版

前言 之前被面试官问到hooks解决了什么问题,当时就说了一部分,还是决定总结一下,毕竟临场发挥肯定会说不全。 React Hooks React Hooks 是 React 16.8 引入的一项重要功能,它解决了一些在使用类组件时存在的问题,并…

北京网站建设公司哪家实惠wordpress顶部菜单哪里设置

引言 对于 Collection 集合及其实现类都有 removeAll(Collection<?> c)。 对于ArrayList 的实例对象&#xff0c;在数据比较多的情况下&#xff0c;方法 removeAll() 的传参 c 的类型是 HashSet会比是 ArrayList 的情况快的多。 原因 我们来细看一下ArrayList类的re…

网站建设技术服务合同佛山建设

10月26日&#xff0c;教育部召开新闻发布会&#xff0c;介绍综合防控儿童青少年近视工作情况。全国综合防控儿童青少年近视工作联席会议机制办公室主任、教育部体育卫生与艺术教育司司长王登峰介绍&#xff0c;2018年全国儿童青少年的总体近视率53.6%&#xff0c;2019年总体近视…

遵义网站搭建公司哪家好东阳市网站建设

id返回不确定类型的对象&#xff08;也就是任意类型的对象&#xff09;&#xff0c;- (id)arrayWithData;返回的就是不确定类型的对象&#xff0c;如果执行数组的方法&#xff0c; [- (id)arrayWithData objectOfIndex:0]编译时不会报错&#xff0c;但运行时会报错&#xff0c;…

做地方旅游网站html5个人主页制作代码

代码目录 框架 our_storage 编译最终生成的目标文件obj 编译生成中间的.o文件 data_global.c 公共资源定义&#xff08;使用在外extern即可&#xff09;定义了锁定义了条件变量消息队列id、共享内存id、信号量id及key值发送短信、接收短信的号码向消息队列发送消息的函数&am…

网站建设与规划学的心得体会网站策划过程

题目描述 有\(n(n<1000000)\)个小朋友坐成一圈&#xff0c;每人有\(a_i\)个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为\(1\)&#xff0c;求使所有人糖果数相等的最小代价。 暴力的做法比较显然&#xff0c;有\(30\)分&#xff0c;这里就不再赘述了。 推…

汽车o2o网站建设网站幻灯片js代码

在派生类中&#xff0c;成员可以按访问属性分为以下四种&#xff1a; &#xff08;1&#xff09;不可访问成员。这是从基类私有成员继承下来的&#xff0c;派生类或是建立派生类对象的模块都无法访问到它们&#xff0c;如果从派生类继续派生新类&#xff0c;也是无法访问的。 &…

代做网站公司有哪些网站建设中 目录是什么

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

买外贸衣服的网站wordpress 非插件分页

转载自 史上最全MySQL 大表优化方案&#xff08;长文&#xff09; 当MySQL单表记录数过大时&#xff0c;增删改查性能都会急剧下降&#xff0c;可以参考以下步骤来优化&#xff1a; 一、单表优化 除非单表数据未来会一直不断上涨&#xff0c;否则不要一开始就考虑拆分&…

提供网站设计方案公司南昌手机网站制作

从今天开始&#xff0c;我将带你一起学习 MySQL 的性能调优。MySQL 数据库是互联网公司使用最为频繁的数据库之一&#xff0c;不仅仅因为它开源免费&#xff0c;MySQL 卓越的性能、稳定的服务以及活跃的社区都成就了它的核心竞争力。 我们知道&#xff0c;应用服务与数据库的交…