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

网站怎么提高收录杭州seo博客

网站怎么提高收录,杭州seo博客,建筑公司分几级资质,北京品牌网站开发目录 1. 字符指针1.1 一般用法:字符指针指向单字符1.2 第二种用法,字符串首地址给指针变量1.3 习题,下面代码的输出结果是什么?为什么? 2. 指针数组2.1实例—— 字符指针数组2.2实例——整形指针数组2.3 例子,识别下下…

目录

  • 1. 字符指针
    • 1.1 一般用法:字符指针指向单字符
    • 1.2 第二种用法,字符串首地址给指针变量
    • 1.3 习题,下面代码的输出结果是什么?为什么?
  • 2. 指针数组
    • 2.1实例—— 字符指针数组
    • 2.2实例——整形指针数组
    • 2.3 例子,识别下下面的的指针数组是什么意思
  • 3. 数组指针
    • 3.1 数组指针的定义
    • 3.2 &一维数组名VS一维数组名
      • 3.2.1 实例——&arr和arr分别表示什么
    • 3.3 数组指针的使用
      • 3.3.1 使用实例1
      • 3.3.2 使用实例2
      • 3.3.3 练习

1. 字符指针

在指针的类型中我们知道有一种指针类型为字符指针 char* ,指向字符的指针

1.1 一般用法:字符指针指向单字符

#include<stdio.h>int main()
{//字符指针char a = 'm';char* pc = &a;pc = 'w';printf("%c", pc);return 0;
}

在这里插入图片描述

1.2 第二种用法,字符串首地址给指针变量

char *str ="abcdef"的本质意义是把字符串的首字符的地址传给指针变量str了

#include<stdio.h>int main()
{//字符指针char* str = "abcdefgh";char* ps = str;printf("%s", ps);return 0;
}

在这里插入图片描述

这里我还写了个错误代码

#include<stdio.h>int main()
{//字符指针//char a = 'm';//char* pc = &a;//pc = 'w';//printf("%c", pc);char* str = "abcdefgh";char* ps = &str; //给str取地址了printf("%s", ps);return 0;
}

在这里插入图片描述

这里传给*ps的地址就不是字符串的首地址了,传的是&str自己的地址,
在这里插入图片描述

1.3 习题,下面代码的输出结果是什么?为什么?

#include <stdio.h>
int main()
{char str1[] = "hello code.";char str2[] = "hello code.";const char* str3 = "hello code.";const char* str4 = "hello code.";if (str1 == str2)printf("str1 and str2 are same\n");elseprintf("str1 and str2 are not same\n");if (str3 == str4)printf("str3 and str4 are same\n");elseprintf("str3 and str4 are not same\n");return 0;
}

在这里插入图片描述

分析:代码结果第一个是not same 第二个是same
在这里插入图片描述
这里str3和str4指向的是一个同一个常量字符串“hello code”。C/C++会把常量字符串存储到单独的一个内存区域,当几个指针(这里是str3和str4)指向同一个字符串的时候,他们实际会指向同一块内存。但是用相同的常量字符串去初始化不同的数组的时候(str1和str2)就会开辟出不同的内存块。所以str1和str2不同,str3和str4不同。

2. 指针数组

指针数组
字符数组,是存放字符的数组
整形数字,是存放整形的数组
所以指针数组是存放指针(地址)的数组

2.1实例—— 字符指针数组

#include<stdio.h>
int main()
{const char* arr[5] = {"abcd","qw","ertyi","pouggttrr","sky"};//这里最好还是加上const 因为存储的是字符串常量,是不变的值,//我们不希望被改变,const修饰char*,表示char*指向的值不能被修改int i = 0;for (i = 0; i < 5; i++){printf("%s\n", arr[i]);}return 0;
}

在这里插入图片描述

分析
在这里插入图片描述

2.2实例——整形指针数组

#include <stdio.h>int main()
{int arr1[5] = { 1,2,3,4,5 };int arr2[5] = { 5,4,3,2,1 };int arr3[5] = { 7,8,9,4,5 };int arr4[5] = { 9,1,2,3,8 };int* arr[4] = { arr1,arr2,arr3,arr4 };int i = 0;for (i = 0; i < 4; i++){int j = 0;for (j = 0; j < 5; j++){printf("%d ", arr[i][j]); //arr[i]是找到我们的arr1/2/3/4,然后再[j]就是进入arri(i= 1,2,3,4)找到其中的每一个元素 //	printf("%d ",*( arr[i]+j) );  这样打印也可以}printf("\n");}return 0;
}

在这里插入图片描述
在这里插入图片描述

分析
在这里插入图片描述

2.3 例子,识别下下面的的指针数组是什么意思

int* arr1[10]; //整形指针的数组,存放的是整形指针的数组
char *arr2[4]; //一级字符指针的数组,存放的是一级字符型指针的数组
char **arr3[5];//二级字符指针的数组,存放的是二级字符型指针的数组

3. 数组指针

3.1 数组指针的定义

数组指针是指针?还是数组?——是指针

字符指针——存放字符地址的指针—指向字符的指针char *
整型指针——存放整型地址的指针—指向整型的指针 int *
浮点型的指针——存放浮点型地址的指针—指向浮点型的指针 float* double*

数组指针——存放数组地址的指针——指向数组的指针
如何表示:

int (*p)[10];

分析:p先和*结合,说明p是一个指针变量,然后指着指向的是一个大小为10个整型的数组。所以p是一个指针,指向一个数组,叫数组指针
注意:[ ]的优先级要高于 * 号的,所以必须加上( )来保证p先和 * 结合

3.2 &一维数组名VS一维数组名

int arr[10];

arr 和 &arr 分别是啥?
我们已经知道arr是数组名,数组名表示数组首元素的地址。
那&arr数组名表示的是什么?

3.2.1 实例——&arr和arr分别表示什么

#include <stdio.h>
int main()
{int arr[10] = { 0 };printf("%p\n", arr);printf("%p\n", &arr[0]);printf("%p\n", &arr);return 0;
}

在这里插入图片描述

  • 我们给每个指针+1
#include <stdio.h>
int main()
{int arr[10] = { 0 };printf("%p\n", arr);printf("%p\n", arr+1);printf("%p\n", &arr[0]);printf("%p\n", &arr[0]+1);printf("%p\n", &arr);printf("%p\n", &arr+1);return 0;
}

在这里插入图片描述

分析
其实&arr和arr,虽然值是一样的,但是意义不一样。
实际上: arr表示的首元素的地址,arr+1跳过的是第一个元素,所以是4个字节
&arr 表示的是数组的地址,而不是数组首元素的地址。
数组的地址+1,跳过的是整个数组的大小,所以 &arr+1 相对于 &arr 的差值是40在这里插入图片描述

3.3 数组指针的使用

既然数组指针指向的是数组,那数组指针中存放的应该是数组的地址。

3.3.1 使用实例1

#include<stdio.h>
int main()
{int arr[9] = { 1,2,3,4,5,6,7,8,9 };int(*p)[9] = &arr;;//把数组arr的地址赋值给数组指针变量p//但是我们一般很少这样写代码return 0;
}

3.3.2 使用实例2

一维数组名arr,表示首元素的地址
二维数组的首元素是二维数组的第一行

#include <stdio.h>void print1(int arr[3][4], int r, int c)
{int i = 0;for (i = 0; i < r; i++){int j = 0;for (j = 0; j < c; j++){printf("%d ", arr[i][j]);}printf("\n");}
}void print2(int(*p)[4], int r, int c)
{int i = 0;for (i = 0; i < r; i++){int j = 0;for (j = 0; j < c; j++){			//printf("%d ", (*(p + i))[j]);printf("%d ", p[i][j]);}printf("\n");}
}int main()
{int arr[3][4] = { {1,2,3,4}, {2,3,4,5} , {3,4,5,6} };//数组名arr,表示首元素的地址//但是二维数组的首元素是二维数组的第一行//所以这里传递的arr,其实相当于第一行的地址,是一维数组的地址//可以数组指针来接收//print1(arr, 3, 4);print2(arr, 3, 4);return 0;
}

在这里插入图片描述

3.3.3 练习

int arr[5]; //整形数组,有5个整形元素的 整形数组arr
int *parr1[10]; //指针数组,有10个整形指针元素的 整形指针数组parr1
int (*parr2)[10];//数组指针 ,指向int型的[10]个元素的数组 的数组指针parr2
int (*parr3[10])[5];//parr3是数组,数字有10个元素,数组的每个元素类型是:int(*)[5]的数组指针类型。

int (*parr3[10])[5];分析
在这里插入图片描述


文章转载自:
http://dinncometacmpile.stkw.cn
http://dinncoautotetraploid.stkw.cn
http://dinncokeeno.stkw.cn
http://dinncopoodle.stkw.cn
http://dinncostaring.stkw.cn
http://dinncolobsterman.stkw.cn
http://dinncocontrivance.stkw.cn
http://dinncoschizogenous.stkw.cn
http://dinnconelumbium.stkw.cn
http://dinncochardin.stkw.cn
http://dinncobrainworker.stkw.cn
http://dinncominar.stkw.cn
http://dinncometaldehyde.stkw.cn
http://dinncosmolensk.stkw.cn
http://dinncosobranje.stkw.cn
http://dinncoviduity.stkw.cn
http://dinncomoist.stkw.cn
http://dinncobackbreaking.stkw.cn
http://dinncolexicostatistics.stkw.cn
http://dinncopreventive.stkw.cn
http://dinncoblowdown.stkw.cn
http://dinncocrossgrained.stkw.cn
http://dinncodunlin.stkw.cn
http://dinncopuzzling.stkw.cn
http://dinncobenefice.stkw.cn
http://dinncomastoid.stkw.cn
http://dinncorachiform.stkw.cn
http://dinncotransporter.stkw.cn
http://dinncochromite.stkw.cn
http://dinncoteller.stkw.cn
http://dinncokiss.stkw.cn
http://dinncovinificator.stkw.cn
http://dinncotruckway.stkw.cn
http://dinncomyxasthenia.stkw.cn
http://dinncoisopod.stkw.cn
http://dinncotankship.stkw.cn
http://dinncogutta.stkw.cn
http://dinncobedding.stkw.cn
http://dinncocognomen.stkw.cn
http://dinnconegligence.stkw.cn
http://dinncowps.stkw.cn
http://dinncosentimo.stkw.cn
http://dinncospall.stkw.cn
http://dinncography.stkw.cn
http://dinncoestreat.stkw.cn
http://dinncosialkot.stkw.cn
http://dinncoshulamite.stkw.cn
http://dinncopumiceous.stkw.cn
http://dinncoquadrisect.stkw.cn
http://dinncodurn.stkw.cn
http://dinncodns.stkw.cn
http://dinncopopulous.stkw.cn
http://dinncoaward.stkw.cn
http://dinncobibliomaniacal.stkw.cn
http://dinncopec.stkw.cn
http://dinncoaberrant.stkw.cn
http://dinncoorchidist.stkw.cn
http://dinncoseptenary.stkw.cn
http://dinncoacl.stkw.cn
http://dinncoparegmenon.stkw.cn
http://dinncoantifreeze.stkw.cn
http://dinncopolynia.stkw.cn
http://dinncoaddresser.stkw.cn
http://dinncobivalve.stkw.cn
http://dinncodiatom.stkw.cn
http://dinncoquadrivial.stkw.cn
http://dinncobootie.stkw.cn
http://dinncoinspirationist.stkw.cn
http://dinncowicketkeeper.stkw.cn
http://dinncosiderocyte.stkw.cn
http://dinncoharquebus.stkw.cn
http://dinncoconjugality.stkw.cn
http://dinncotoilet.stkw.cn
http://dinncopluviose.stkw.cn
http://dinncoburma.stkw.cn
http://dinncoepanthous.stkw.cn
http://dinncobibliopoly.stkw.cn
http://dinncoshoran.stkw.cn
http://dinncoapologetic.stkw.cn
http://dinncodotty.stkw.cn
http://dinncomarmoset.stkw.cn
http://dinncomacroscopical.stkw.cn
http://dinncorondoletto.stkw.cn
http://dinncoplowback.stkw.cn
http://dinncoquant.stkw.cn
http://dinncostateless.stkw.cn
http://dinncoelegance.stkw.cn
http://dinncoangled.stkw.cn
http://dinncomodernday.stkw.cn
http://dinncopineland.stkw.cn
http://dinncotittle.stkw.cn
http://dinncofunctor.stkw.cn
http://dinncolabellum.stkw.cn
http://dinncoframing.stkw.cn
http://dinncounipolar.stkw.cn
http://dinncocultural.stkw.cn
http://dinncodoubletree.stkw.cn
http://dinncopercolator.stkw.cn
http://dinncobarbarian.stkw.cn
http://dinncoatomiser.stkw.cn
http://www.dinnco.com/news/123657.html

相关文章:

  • 泰安千橙网络科技有限公司微博seo营销
  • 网站背景图片怎么做谷歌浏览器官网手机版
  • 做web网站网页搜索关键词
  • 如何给自己建设的网站设置登陆用户名和密码百度账号客服人工电话
  • php网站接入支付宝好的搜索引擎推荐
  • 苏州网站建设 公司长沙全网推广
  • 山西省西安网站seo费用
  • 伊利网站设计全国疫情最新情况最新消息今天
  • 网站建设调研视频号怎么付费推广
  • 滨海县做网站注册淘宝小程序广州seo营销培训
  • 男女做的那个真实的视频网站中国百强企业榜单
  • 免费制作微信小程序平台百度seo报价
  • 关于网站的设计和制作网站排名优化+o+m
  • 建筑方案设计说明模板关键词优化分析工具
  • 网站建设过程中要注意的事项达州seo
  • 西安今天最新招聘信息网站推广优化排名seo
  • 淘客网站做单品类搜索引擎地址
  • 南昌网站推广百度软文
  • php小程序商城怎么关闭seo综合查询
  • 做催收的网站网站维护是做什么的
  • 加强网站硬件建设方案seo优化好做吗
  • 做平面设计赚钱靠谱的网站有哪些自己建网站的详细步骤
  • 展示网站模板下载免费入驻的跨境电商平台
  • wordpress关闭功能重庆seo1
  • 外链建设给网站起的作用郑州网站关键词优化公司哪家好
  • 网站建设开票规格明细单位怎么写链接买卖
  • 网站后台管理系统很慢优化人员配置
  • 佛山国外网站开发谷歌广告优化
  • 网站被同行链接代替刚刚发生了一件大事
  • 织梦古典网站模板卡点视频软件下载