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

深圳 三人 网站建设局域网如何做视频网站

深圳 三人 网站建设,局域网如何做视频网站,wordpress字体加载,按照wordpress大家好#xff0c;这里是小编的博客频道 小编的博客#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识#xff0c;希望能在这里与大家共同进步#xff0c;共同收获更好的自己#xff01;#xff01;#xff01; 目录 题集#xff08;1#xff09;指针笔试题1这里是小编的博客频道 小编的博客就爱学编程 很高兴在CSDN这个大家庭与大家相识希望能在这里与大家共同进步共同收获更好的自己 目录 题集1指针笔试题12指针笔试题23指针笔试题34指针笔试题45指针笔试题56指针笔试题67指针笔试题78指针笔试题89指针笔试题9 快乐的时光总是短暂咱们下篇博文再见啦不要忘了给小编点点赞和收藏支持一下在此非常感谢 那接下来就让我们开始遨游在知识的海洋 题集 1指针笔试题1 判断代码运行结果 #includestdio.h #includestring.h int main() {char arr[] abcd;//char arr[] {a, b, c, d, \0}printf(%d\n, sizeof(arr)); printf(%d\n, sizeof(arr 0 )); printf(%d\n, sizeof (*arr)); printf(%d\n, sizeof(arr[1])); printf(%d\n, sizeof(arr)); printf(%d\n, sizeof(arr 1)); printf(%d\n, sizeof(arr[0] 1)); printf(%d\n, strlen(arr)); printf(%d\n, strlen(arr 0)); printf(%d, strlen (*arr)); printf(%d, strlen(arr[1])); printf(%d\n, strlen (arr)); printf(%d\n, strlen (arr 1)); printf(%d\n, strlen (arr[0] 1)); return 0; } 建议思考写下自己的答案再看后文进行核对与理解 答案解析5sizeof()内仅有arr数组名 arr代表整个数组所以sizeof计算的是整个数组的大小——5单位字节4/8除了仅有arr或arr 中arr代表的是整个数组其他arr代表的都是数组首元素的地址地址的大小就是4/8至于4/8取决于32位机器或64位机器1*arr就是数组首元素aint)大小为11arr[1] *(arr 1),就是数组的第二个元素大小为14/8arr中的arr代表的是整个数组所以arr代表的是整个数组的地址大小就是4/84/8arr 1中的arr代表的是整个数组所以arr 1代表的是整个数组后的和数组一样大小的连续元素的地址大小就是4/84/8第二个元素的地址4strlen(arr)中arr代表的是数组首元素的地址所以strlen()从数组首元素开始数到至’\0’结果就为44strlen(arr0)中arr代表的是数组首元素的地址所以strlen()从数组首元素开始数至’\0’结果就为4非法访问*arr表示数组首元素而strlen()要的是地址所以非法访问非法访问同上4arr取出了整个数组的地址就数整个数组结果就为4随机arr 1 就跳过了整个数组不知道什么时候出现’\0’也不知道任何元素的信息所以打印的是个随机数3arr[0] 1 就跳过了首元素结果就为3 考察一维数组的数组名——特殊与一般 涉及一维数组strlensizeof。 2指针笔试题2 判断代码运行结果 #includestdio.h #includestring.h int main() {char* p abcd;//这个代码的意思把首元素的地址a的地址放到指针变量p中//p就相当于一般的arr除了两种特殊情况除外首元素的地址printf(%d\n, sizeof(p)); //地址的大小就是4/8字节至于4/8取决于32位机器或64位机器printf(%d\n, sizeof(p 0 )); //同上printf(%d\n, sizeof (*p)); //*p就是数组首元素achar大小为1字节printf(%d\n, sizeof(p[1])); //p[1] *(p 1),就是数组的第二个元素大小为1字节printf(%d\n, sizeof(p)); //p中的p代表的是数组首元素的地址所以p代表的是存储指针变量p的地址大小就是4/8printf(%d\n, sizeof(p 1)); //p 1中的p代表的是数组首元素所以p 1代表的是存储指针变量p的地址处后一位的地址大小就是4/8printf(%d\n, sizeof(p[0] 1)); //b的地址大小就是4/8printf(%d\n, strlen(p)); //strlen(p)中p代表的是数组首元素的地址所以strlen函数从数组首元素开始数至\0结果就为4printf(%d\n, strlen(p 0)); //strlen(p 0)中p代表的是数组首元素的地址所以strlen函数从数组首元素开始数至\0结果就为4//printf(%d, strlen (*p)); //*p表示数组首元素而strlen函数要的是地址所以非法访问//printf(%d, strlen(p[1])); //同上printf(%d\n, strlen (p)); //p取出了数组首元素的地址的地址不知道什么时候出现\0也不知道任何元素的信息所以打印的是个随机数printf(%d\n, strlen (p 1)); //p 1 就跳过了整个数组不知道什么时候出现\0也不知道任何元素的信息所以打印的是个随机数printf(%d\n, strlen (p[0] 1)); //p[0] 1 就跳过了首元素结果就为3return 0; }考察字符指针——把首元素的地址a的地址放到指针变量p中 涉及字符指针strlen。 3指针笔试题3 判断代码运行结果 #includestdio.h struct test {int Num;char* pcname;short sDate;char cha[2];short sBa[4]; }* p; //假设 * p 0x00000000; //已知结构体变量test的大小为20字节 int main() {printf(%p\n, p 1);//指针加1跳过整个指针权限的内容步长解引用权限所以这里跳过了整个结构体变量也就是20个字节,结果用十六进制表示就是00000014printf(%u\n, (unsigned long)p 1);//先把结构体指针变量p强转成无符号长整型变量再加1就是让一个整型变量加1结果就是加1用十进制表示就是1printf(%p\n, (unsigned int*)p 1);//先把结构体指针变量p强转成整型指针变量再加1就是让一个整型指针变量加1指针加1跳过整个权限的内容所以这里跳过了整个整型变量也就是4个字节,结果用十六进制表示就是00000004 }考察指针加1的意义是跳过一个步长的地址 涉及结构体指针基本指针。 4指针笔试题4 判断代码运行结果 //x86,小端 #includestdio.hint main() {int a[4] { 1, 2, 3, 4 };int* p (int*)(a 1);int* p1 (int*)((int)(a 1) 1); //如果我们定义一个int* pa a; 则a 1就等价于*(pa 1)printf(%x\n, p[-1]); //1.p[-1] *(p - 1),因为p的类型为int*所以p-1就是向前挪动一个整型4个字节的长度指向了第4个元素的第一个字节的最左端//2.再进行解引用根据p的访问权限可知从当前位置向后访问一个整型4个字节就得到了数组的第4个元素——4//3.又因为%x是用来打印十六位进制数且会去掉前面的0所以打印就是4printf(%x\n, * p1); //1.a 1 //低地址 高地址//低地址 高地址 //01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 //01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00//地址设为00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f //00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f //指针位置pa -- pa //2.(int)(a 1) 把 地址04 强转成一个大小等于 04 的整型数据//3.(int)(a 1) 1一个整型数据加1就是数值加1此时((int)(a 1) 1)就得到了一个数值大小为 05 的整型数据//4.((int*)((int)(a 1) 1))把数值大小为 05 的整型数据强转为 地址05//5.int* p1 (int*)((int)(a 1) 1)把上面得到的 05的地址 赋给 类型为int*的 整形指针变量p1//6.printf(%x\n, * p1)再进行解引用根据p的访问权限可知从当前位置向后访问一个整型4个字节就得到了00 00 00 03小端存储转换为03 00 00 00原值小端存储是以字节为单位的//7.又因为%x是用来打印十六位进制数且会去掉前面的0所以打印就是3000000return 0; }考察并涉及小端存储%x的作用指针运算。 5指针笔试题5 判断代码运行结果 #includestdio.h int main() {int arr[] { 1, 2, 3, 4 };int* p (int*)(arr 1);printf(%d\n, *(p - 1));//没什么好讲的printf(%d\n, *(arr 1));//同上return 0; }考察并涉及一维数组数组名。 6指针笔试题6 判断代码运行结果 #includestdio.h int main() {int arr[2][3] { (1, 2), (3, 4), (5, 6)};//逗号表达式的值就是,右边的表达式的结果但要注意,左边的表达式也会执行且是先执行的//所以该二维数组的元素为//2 4//6 0//0 0int* p;p arr[0];printf(%d\n, p[1]);//两种理解p[1]的方法//1.用数组的格式理解p arr[0],则p[1] arr[0][1] 4;//2.用数组的本质理解arr[0]作为二维数组的第一行的数组元素的数组名代表的是数组第一行的首元素的地址即——arr[0][0],//p[1] *(p 1) *(arr[0][0] 1) 4return 0; }考查并涉及指针与二维数组的关系和逗号表达式的作用。 7指针笔试题7 判断代码运行结果 #includestdio.h int main() {int arr[5][5];//数组元素|0 0 0 0 0 | 0 0 0 0 0 | 0 0 0 0 0 | 0 0 0 0 0 | 0 0 0 0 0 | // arr[0] arr[1] arr[2] arr[3] arr[4]//地址设为|0 1 2 3 4 | 5 6 7 8 9 | a b c d e | f 0 1 2 3 | 4 5 6 7 8 |int(*p)[4] (int(*)[4])arr;//arr作为二维数组的数组名类型为int(*)[5],与数组指针变量p类型为int(*)[4]类型基本一致所以强转之后可以和数组名一样理解printf(%p,%d\n, p[4][2] - arr[4][2], p[4][2] - arr[4][2]);//以p为二维数组的数组名的二维数组// 元素| 0 0 0 0 | 0 0 0 0 | 0 0 0 0 | 0 0 0 0 | 0 0 0 0 | 0 0 0 0 | 0 // p[0] p[1] p[2] p[3] p[4] p[5] p[6]//地址设为| 0 1 2 3 | 4 5 6 7 | 8 9 a b | c d e f | 0 1 2 3 | 4 5 6 7 | 8//所以 p[4][2] - arr[4][2] 12 - 16 -4,再根据占位符的功能打印的结果为FFFFFFFC十六进制-4十进制return 0; }考察%p打印的是无符号十六进制的地址值 涉及二维数组占位符%p,数组指针。 8指针笔试题8 判断代码运行结果 #includestdio.h int main() {char* arr[3] { hello, world, bite };//arr[0] h , arr[1] w, arr[2] b//即数组元素h| w | b//元素名 arr[0]|arr[1]|arr[2]char** pa arr;pa;printf(%s\n, *pa);return 0; }考查字符指针在接收字符串时接受的是字符串的首元素的地址 涉及指针数组占位符%s。 9指针笔试题9 判断代码运行结果 #includestdio.h int main(){char* c[4] { hello, world, bite, pengge };//一级字符指针数组c// 数组元素值| h| w| b| p|// 元素类型|char*|char*|char*|char*|// 元素意义|指向hello的指针一开始指向h|指向world的指针一开始指向w|指向bite的指针一开始指向b|指向pengge的指针一开始指向p// 元素名| c[0]| c[1]| c[2]| c[3]|// 地址设为 0 1 2 3char** cp[4] {c 3, c 2, c 1, c};//二级字符指针数组cp// 数组元素| 3 | 2 | 1 | 0 |// 元素名|cp[0]|cp[1]|cp[2]|cp[3]|// 地址设为 a b c dchar*** cpp cp;// *cpp cp[0] aprintf(%s\n, **cpp);//都只能先从cpp开始分析//1.cppcpp先自增1——*cpp a 1 b;//2.**(cpp)两次解引用——(1)*(cpp) b -- (2)**(cpp) 2;//3.%s的作用从所给地址开始一直打印字符至\0处所以打印的结果为biteprintf(%s\n, *-- *cpp 3);//1.cppcpp再自增1——*cpp b 1 c;//2.*cpp解引用——*cpp c;//3.-- *cppc自减1——*c 1 - 1 0;//4.*-- *cpp解引用——*c 0;//5.*-- *cpp 3一级字符指针 3——*0 h 3 l临时不是真的加;//6.打印结果为loprintf(%s\n, *cpp[-2] 3);//1.cpp[-2]cpp指向的值先减2再解引用——(1)cpp - 2——*cpp c - 2 a临时不是真的加;(2)*(cpp - 2)——*(cpp - 2) a;//2.*cpp[-2]再解引用——**(cpp - 2) *a 3;//3.*cpp[-2] 3一级字符指针 3——*3 p 3 g临时不是真的加;//4.打印结果为ggeprintf(%s\n, cpp[-1][-1] 1);//1.cpp[-1]cpp指向的值先减1再解引用——(1)cpp - 1——*cpp c - 1 b临时不是真的加;(2)*(cpp - 2)——*(cpp - 2) b;//2.cpp[-1][-1]b指向的值先减1再解引用——(1)b - 1——*b 2 - 1 1临时不是真的加;(2)*1——*1 w;//3.cpp[-1][-1] 1一级字符指针 1——*1 w 1 o临时不是真的加;//4.打印为orldreturn 0; }考察操作符的优先级只在操作数的相邻位置才考虑 和-- 会真实改变变量存的数据 涉及二级指针操作符和–解引用。 快乐的时光总是短暂咱们下篇博文再见啦不要忘了给小编点点赞和收藏支持一下在此非常感谢
http://www.w-s-a.com/news/697277/

相关文章:

  • 做网站的软件名字全拼wordpress可以上传文件吗
  • 建品牌网站公司关于asp_sql网站开发的书籍
  • 建网站公司营销型网站建设wordpress自定义登录页
  • 泉州市住房和城乡建设局网站淘宝店网站怎么做
  • 企业网站建设费未付款怎样挂账长春网站制作专业
  • 深圳找网站建设邹城市建设局网站
  • 长春火车站停运了吗网站开发概要设计
  • 网站开发表格整体页面居中网站域名详解
  • 漕泾网站建设赢展网站建设
  • 医院网站建设的要求毕业了智慧团建密码忘了
  • 网站怎么建设在哪里接单坪山商城网站建设哪家便宜
  • 中山企业网站优化易语言wordpress发布
  • 宜昌网站推广自己怎么做彩票网站吗
  • 英文网站建设 招标网站建设中服务器搭建方式
  • 直播网站建设需要什么软件有哪些室内设计效果图怎么做
  • 宁波网站建设电话网络推广外包一年多少钱
  • 检索标准的网站怎么制作企业网站
  • 下列关于网站开发中网页发布wordpress 粘帖图片
  • 网站建设遇到的问题及对策宁波网站建设营销推广
  • 各大招聘网站常州百度快速优化
  • 做网站线稿软件有哪些做门户网站需要注册公司吗
  • 建设企业网站模板下载优化方案怎么写
  • 做像淘宝网的网站网站单页面制作
  • 网站建设流程表龙岩网站建设较好的公司
  • 龙岗建站费用手机免费建立网站吗
  • 江门高端网站建设怎样制作wordpress手机主题
  • 淘宝网站如何在邮件里做超链接wordpress图片投票插件
  • 镇平哪家网站做的好招聘网站如何建设
  • 建网站一般多少钱幸福里wordpress怎么可视化构建页面
  • 广东网站建设建站模板主机托管公司