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

长沙网站设计公司哪家好网站开发技术 包括

长沙网站设计公司哪家好,网站开发技术 包括,浙江网站建设电话,网络舆情处置报告目录 前言#xff1a; 1. 字符指针 2. 指针数组 3.数组指针 3.1数组指针的定义 3.2 数组名VS数组名 3.3数组指针的使用 前言#xff1a; #x1f342;在了解今天的内容之前我们先复习一下指针的基本概念#xff1a; 1#xff0c;内存单元是有编号的#xff…目录 前言 1. 字符指针 2. 指针数组 3.数组指针 3.1数组指针的定义 3.2 数组名VS数组名 3.3数组指针的使用 前言 在了解今天的内容之前我们先复习一下指针的基本概念 1内存单元是有编号的编号就是我们所说的地址也可以叫指针它们是一回事。如果我们把一个指针或地址存起来的话我们就需要一个指针变量。 2指针变量就是个变量用来存放地址地址唯一标识一块空间。 3地址或指针的大小是固定的4/8个字节32位平台/64位平台也可以理解为指针变量的大小是4/8个字节。 4指针是有类型的指针的类型决定了指针加减整数的步长指针解引用操作时候的权限。 1. 字符指针 在指针的类型中我们知道有一种指针类型为字符指针 char* 一般使用: #include stdio.hint main() {char ch w;//取出的变量ch的地址是char类型的变量//就可以把它放在char* 类型的指针里边去char* pc ch;return 0; } 还有一种使用方式如下 #include stdio.hint main() {//这个字符串作为一个表达式的时候它的值是首字符的地址指向字符串的本质是指向了第一个字符//但因为字符串在内存中是连续存放的也可以认为是指向了一个字符串//加const是为了防止有人通过*p修改字符串常量里边的内容const char* p abcdef;printf(%s\n, p);//如果对这个指针解引用因为它是char*类型解引用只拿到一个字符所以格式控制符应该用“%c”printf(%c\n, *p);return 0; } 下面我们来看一道面试题 #include stdio.hint main() {char str1[] hello bit.;char str2[] hello bit.;const char* str3 hello bit.;const char* str4 hello bit.;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; } 这里最终输出的是  分析  如上图所示st1数组和str2数组是两块独立的空间它们的起始地址肯定不相同所以打印的结果为不同“hello bit”是一个常量字符串它不能被修改而对于常量字符串来说它的内容一样的时候只会保存一份不会保存多份当这个字符串把首字符的地址交给str3的时候str3就是一个指针变量里边存的是h的地址同理str4指针变量里边存放的也是h的地址所以str3和str4打印结果相同。 2. 指针数组 在刚接触指针的时候我们就说过指针数组是数组。那该怎么理解它呢 我们说 字符数组是存放字符的数组 整型数组是存放整形的数组 那指针数组就是存放指针的数组即存放在数组中的元素都是指针类型的。 例 int* arr[5];//存放整形指针的数组 char* ch[6];//存放字符指针的数组 下面我们使用指针数组模拟一个二维数组 #include stdio.hint main() {int arr1[] { 1,2,3,4,5 };int arr2[] { 2,3,4,5,6 };int arr3[] { 3,4,5,6,7 };//指针数组int* arr[] { arr1,arr2,arr3 };int i 0;for (i 0; i 3; i){int j 0;for (j 0; j 5; j)//打印一行的元素{printf(%d , arr[i][j]);}printf(\n);}return 0; } 运行结果 3.数组指针 3.1数组指针的定义 数组指针是指针还是数组 答案是指针。 我们知道字符指针是指向字符的指针整形指针是指向整形的指针浮点型指针是指向浮点型的指针那数组指针就是指向数组的指针 3.2 数组名VS数组名 对于下面的数组 int arr[10]; arr 和 arr 分别是啥我们知道arr是数组名数组名表示数组首元素的地址。那arr数组名到底是啥我们看一段代码 #include stdio.hint main() {int arr[10];printf(%p\n, arr);printf(%p\n, arr);return 0; } 运行结果如下  可见数组名和数组名打印的地址是一样的难道两个是一样的吗我们再看一段代码 #include stdio.hint main() {int arr[10] { 0 };printf(arr %p\n, arr);printf(arr1 %p\n, arr 1);printf(arr %p\n, arr);printf(arr1 %p\n, arr 1);return 0; } 运行结果如下  根据上面的代码我们发现其实arr和arr虽然值是一样的但是意义应该不一样的。实际上 arr 表示的是数组的地址而不是数组首元素的地址。本例中 arr 的类型是 int(*)[10] 是一种数组指针类型。数组的地址1跳过整个数组的大小所以 arr1 相对于 arr 的差值是40。 3.3数组指针的使用 那数组指针是怎么使用的呢 既然数组指针指向的是数组那数组指针中存放的应该是数组的地址看代码 #include stdio.hint main() {int arr[10] { 1,2,3,4,5,6,7,8,9,10 };int(*p)[10] arr;//把数组arr的地址赋给数组指针变量pint i 0;for (i 0; i 10; i){//因为p里边存放的是arr对它解引用//就相当于拿到了数组名取地址和解引用可以互相抵消//这时候访问数组里边每个元素的时候还得用下标(*p)[i]就会显得多此一举//所以我们一般很少这样写代码(*p) (*arr) (arr);}//正确写法int* p arr;int i 0;for (i 0; i 10; i){printf(%d , p[i]);}return 0; } 数组指针的使用  #include stdio.hvoid print_arr1(int arr[3][5], int x, int y)//形参也是使用二维数组的形式 {int i 0;for (i 0; i 3; i){int j 0;for (j 0; j 5; j){printf(%d , arr[i][j]);}printf(\n);} }void print_arr2(int (*arr)[5], int x, int y)//形参的部分使用的是指针 {int i 0;for (i 0; i 3; i){int j 0;for (j 0; j 5; j){printf(%d , arr[i][j]);}printf(\n);} }int main() {int arr[3][5] { {1,2,3,4,5}, {2,3,4,5,6},{3,4,5,6,7} };print_arr1(arr, 3, 5);//二维数组传参//数组名arr表示首元素的地址//但是二维数组的首元素是二维数组的第一行//所以这里传递的arr其实相当于第一行的地址是一维数组的地址//可以数组指针来接收print_arr2(arr, 3, 5);//二维数组传参return 0; } 下面我们再来分析一组代码 int arr[5]; arr是一个数组数组有5个元素每个元素是整形类型所以arr是一个能够存放5个整形数据的数组  int* parr1[10]; parr1是一个数组数组有10个元素每个元素的类型是int*类型  int(*parr2)[10]; parr2是一个数组指针该指针是指向数组的指向的数组有10个元素每个元素的类型是int 类型 int(*parr3[10])[5]; parr3是一个数组是存放数组指针的数组数组有10个元素存放的这个数组指针指向的数组有5个元素每个元素是int类型
http://www.hkea.cn/news/14590507/

相关文章:

  • jsp网站开发广告位mp3链接地址制作网站
  • 网站建设合同模板下载电商网站搭建流程
  • 网站月流量是什么意思成都做app定制
  • 晋城建设工程信息网站黄页堆广
  • 个人备案能公司网站玖久建筑网
  • 济南网站建设网站建设wordpress备份 方案
  • 深圳宝安p2p网站系统的建设携程旅游网站建设的定位
  • 北京公司网站建设服务游戏源代码网站
  • 食品网站模板下载一站式进货平台网站建设
  • 专门做海报的网站昆山网站建设网站
  • 个体户网站建设申请免费网站需要什么条件
  • 上海公司建立网站吗沈阳做网站开发公司
  • 论坛做网站好吗电子商务网站建设林锋课本答案
  • 网站上删除信息如何做网络维护
  • 廊坊建网站外包chatgpt app
  • 做贷款网站厦门市住房建设网站
  • 在线买房网站建设 方案手工做女宝宝衣服的网站
  • 中国公路建设协会网站成都网站建设招聘
  • 建立网站一般经历的阶段红酒网站建设方案
  • 网站建设与维护考题wordpress没有分类目录
  • 门户网站设计做网站开票内容是什么
  • 广州怎么建设一个网站咨询公司需要什么条件
  • 信息网站建设方案网站内容更新方案
  • 网站在排版有哪些方法做的网站图片不显示
  • pc网站 手机网站 微网站建站网站推荐
  • 上海注册公司在哪个网站wordpress积分站内搜索
  • 娄底网站推广营销策划公司名称大全
  • 做物流的网站有哪些功能搭wordpress用什么
  • 深圳手机移动网站开发单位宣传册设计样本
  • 文件备案网站建设方案新手网页制作