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

政务网站设计方案qq推广平台

政务网站设计方案,qq推广平台,做网站的公司吉林,大网站整站备份目录 1. sizeof和strlen的对比 1.1 sizeof 1.2 strlen 1.3 sizeof和strlen 的对比 2. 数据和指针题解析 2.1 一维数组 2.2 字符数组 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2,6 2.3 二维数组 3. 指针运算题解析 3.1 例1 3.2 例2 3.3 例3 3.4 例4 3.5 例5 3.6 例…目录 1. sizeof和strlen的对比 1.1 sizeof 1.2 strlen 1.3 sizeof和strlen 的对比 2. 数据和指针题解析 2.1 一维数组 2.2 字符数组 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2,6 2.3 二维数组 3. 指针运算题解析 3.1 例1 3.2 例2 3.3 例3 3.4 例4 3.5 例5 3.6 例6 3.7 例7 1. sizeof和strlen的对比 1.1 sizeof sizeof是用来计算变量所占内存空间的大小单位字节。 如果操作数是类型的话计算的是使用类型创建的变量所占内存空间的大小。 sizeof 只关注占用空间的大小不在乎内存中放了什么 1.2 strlen strlen 是用来求字符串长度的。 size_t strlen ( const char * str ); strlen 统计的是字符串开始到 \0 之前的字符串的字符个数。strlen 找到 \0 就会停止没有找到就会一直找下去 #include stdio.h #include string.h int main() {char arr1[3] { a, b, c };//没有\0char arr2[] abc;//a,b,c,\0printf(%d\n, strlen(arr1));//随机数printf(%d\n, strlen(arr2));return 0; } 1.3 sizeof和strlen 的对比 sizeofstrlen 1. sizeof 是操作符 2. sizeof 计算操作数所占内存的大小单位字节 3. 不管内存中存什么数据 1. strlen 是库函数使用时需要包含头文件string.h 2. strlen 是求字符串长度的统计的是\0 之前字符的间隔个数 3. 关注内存中是否有 \0 如果没有 \0 就会持续往后找可能会越界。 2. 数据和指针题解析 首先我们先来补充一个知识点 数组名数组名一般表示数组首元素的地址但是有2个例外 1. sizeof(数组名)数组名表示整个数组计算的是整个数组的大小单位是字节 2. 数组名数组名表示整个数组取出的数组的地址 除此之外所有遇到的数组都是数组首元素的地址。 2.1 一维数组 int main() {int a[] { 1,2,3,4 };//a数组有4个元素每个元素是int类型的数据printf(%d\n, sizeof(a));//计算的是整个数组的大小---16printf(%d\n, sizeof(a 0));//计算的是首元素地址0也就是首元素地址——4或8printf(%d\n, sizeof(*a));//计算的是首元素的大小--4printf(%d\n, sizeof(a 1));//计算的是首元素地址1也就是第二个元素地址的大小——4或8printf(%d\n, sizeof(a[1]));//计算的是下标为1的元素大小——4printf(%d\n, sizeof(a));//a—取出的是数组地址但是数组地址也是地址所以——4或8printf(%d\n, sizeof(*a));//计算的是整个数组的大小——16printf(%d\n, sizeof(a 1));//a—取出的是数组地址a1是跳过整个数组后的地址也是地址——4或8printf(%d\n, sizeof(a[0]));//a[0]是第一个元素的地址--4或8printf(%d\n, sizeof(a[0] 1)); //a[0] 1是第二个元素的地址——4或8return 0; } 2.2 字符数组 2.2.1 int main() {char arr[] { a,b,c,d,e,f };printf(%d\n, sizeof(arr));//计算的是整个数组元素的大小——6printf(%d\n, sizeof(arr 0));//就是的是arr0的地址也就是数组第一个元素的地址——4或8printf(%d\n, sizeof(*arr));//计算的是数组的第一个元素的地址——1printf(%d\n, sizeof(arr[1]));//计算的是数组下标为1的元素——1printf(%d\n, sizeof(arr));//arr是整个数组的地址但是数组地址也是地址——4或8printf(%d\n, sizeof(arr 1));//arr—取出的是数组地址arr1是跳过整个数组后的地址也是地址——4或8printf(%d\n, sizeof(arr[0] 1));//arr[0] 1是第二个元素的地址——4或8return 0; } 2.2.2 int main() {char arr[] { a,b,c,d,e,f };printf(%d\n, strlen(arr));//随机值printf(%d\n, strlen(arr 0));//随机值printf(%d\n, strlen(*arr));//访问错误*arr是‘a’-97printf(%d\n, strlen(arr[1]));//访问错误arr[1]是bprintf(%d\n, strlen(arr));//随机值printf(%d\n, strlen(arr 1));//随机值printf(%d\n, strlen(arr[0] 1));//随机值return 0; } 2.2.3 int main() {char arr[] abcdef;printf(%d\n, sizeof(arr));//arr0是数组的首元素地址地址的大小——4/8printf(%d\n, sizeof(arr 0));//printf(%d\n, sizeof(*arr));printf(%d\n, sizeof(arr[1]));printf(%d\n, sizeof(arr));//arr-是数组的地址数组的地址也是地址是地址大小就是4/8printf(%d\n, sizeof(arr 1));//arr1跳过数组指向的是数组后面的地址--4/8printf(%d\n, sizeof(arr[0] 1));return 0; } 2.2.4 #includestring.h int main() {char arr[] abcdef;printf(%d\n, strlen(arr));//6printf(%d\n, strlen(arr 0));//arr0是数组首元素的地址6printf(%d\n, strlen(*arr));//err 传递的是aprintf(%d\n, strlen(arr[1]));//err 传递的是bprintf(%d\n, strlen(arr));//err printf(%d\n, strlen(arr 1));//随机值printf(%d\n, strlen(arr[0] 1));//arr[0] 1是第二个的地址--5return 0; } 2.2.5 int main() {const char* p abcdef;printf(%d\n, sizeof(p));//计算的是指针变量的大小-4/8printf(%d\n, sizeof(p 1));//p1是’b‘的地址printf(%d\n, sizeof(*p));//a---1printf(%d\n, sizeof(p[0])); //p[0]a---1字节printf(%d\n, sizeof(p));//p-是自己的地址--4/8printf(%d\n, sizeof(p 1));//4/8printf(%d\n, sizeof(p[0] 1));//(p[0] 1)是b的地址return 0; } 2.2,6 int main() {const char* p abcdef;printf(%d\n, strlen(p));//6printf(%d\n, strlen(p 1));//5printf(%d\n, strlen(*p));//errprintf(%d\n, strlen(p[0]));//errprintf(%d\n, strlen(p));//随机值printf(%d\n, strlen(p 1));//随机值printf(%d\n, strlen(p[0] 1));//5return 0; } 2.3 二维数组 int main() {int a[3][4] { 0 };printf(%d\n, sizeof(a));//12*448个字节数组名单独在sizeof内部printf(%d\n, sizeof(a[0][0]));//4printf(%d\n, sizeof(a[0]));//是第一行这个一维数组的数组名数组名单独放置sizeof内部了--16printf(%d\n, sizeof(a[0] 1));//a[0]是第一行这个一维数组的数组名这里表示数组首元素//也就是a[0][0]的地址a[0] 1是a[0][1]的地址printf(%d\n, sizeof(*(a[0] 1)));//a[0]][1]--4个字节printf(%d\n, sizeof(a 1));//a是二维数组的数组名但是没有也没有单独放在sizeof内部//所以这里的a是数组首元素的地址应该是第一行的地址a1是第二行的地址----4/8printf(%d\n, sizeof(*(a 1)));//第二行的数组名计算的是第二行的大小--16printf(%d\n, sizeof(a[0] 1));///a[0]是第一行的地址a[0]1就是第二行的地址printf(%d\n, sizeof(*(a[0] 1)));//对第二行的地址解引用计算的是第二行的大小--16printf(%d\n, sizeof(*a));//这里的a是第一行的地址*a就是第一行---16//*a-*(a0)--.a[0]printf(%d\n, sizeof(a[3]));//a[3]就是的是第四行的大小---16//因为sizeof内部的不都是不会真实计算return 0; } 3. 指针运算题解析 3.1 例1 int main() {int a[5] { 1, 2, 3, 4, 5 };int* ptr (int*)(a 1);printf(%d,%d, *(a 1), *(ptr - 1));return 0;; } 运行结果 3.2 例2 //在X86环境下 //假设结构体的⼤⼩是20个字节 //程序输出的结构是啥 struct Test {int Num;char* pcName;short sDate;char cha[2];short sBa[4]; }*p (struct Test*)0x100000; //指针整数 int main() {printf(%p\n, p 0x1);//0x100000200x100014printf(%p\n, (unsigned long)p 0x1);//0x100001printf(%p\n, (unsigned int*)p 0x1);//ox100004return 0; } 3.3 例3 #include stdio.h int main() {int a[3][2] { (0, 1), (2, 3), (4, 5) };//里面的括号是小括号所以表示的逗号表达式//所以真正的数组元素是1,3,5,其他都是0int* p;p a[0];printf(%d, p[0]);return 0; } 3.4 例4 //假设环境是x86环境程序输出的结果是啥 #include stdio.h int main() {int a[5][5];//int (*ptr)[5]aint(*p)[4];//P是数组指针指向的数组4个类型的元素p a;printf(%p,%d\n, p[4][2] - a[4][2], p[4][2] - a[4][2]);//指针-指针点决斗者得到的是指针和指针之间的元素个数FFFFFC,-4return 0; } 3.5 例5 #include stdio.h int main() {int aa[2][5] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };int* ptr1 (int*)(aa 1);int* ptr2 (int*)(*(aa 1));//a[1]//aa是首元素的地址也就是第一行的地址aa1就是第二行的地址printf(%d,%d, *(ptr1 - 1), *(ptr2 - 1));//10,5return 0; } 3.6 例6 #include stdio.h int main() {const char* a[] { work,at,alibaba };//指针数组char** pa a;pa;printf(%s\n, *pa);return 0; } 3.7 例7 #include stdio.h int main() {const char* c[] { ENTER,NEW,POINT,FIRST };const char** cp[] { c 3,c 2,c 1,c };const char*** cpp cp;printf(%s\n, **cpp);//POINTprintf(%s\n, *-- * cpp 3);//ERprintf(%s\n, *cpp[-2] 3);//ST cpp[2]--*(cpp-2)printf(%s\n, cpp[-1][-1] 1);//EW cpp[-1][-1]--*(*(cpp-1)-1)1 return 0; }
http://www.huolong8.cn/news/413408/

相关文章:

  • 网页设计网站大全手机版网站做一下多少钱
  • 西昌有哪些做网站的公司广告策划书前言怎么写
  • 网站建设电话营销话术深圳龙江网站设计
  • 江津区网站建设丹东seo推广优化报价
  • 湖南电商网站建设推荐10网站
  • 乐清网站一级做爰A视频免费网站
  • 做英语题目的网站不良网站浏览窗口
  • 做导航网站用什么源码高端的佛山网站建设价格
  • 射阳做网站的公司在哪一般通过
  • 成都工程网站建设关键词优化案例
  • 国内看网站 优帮云服装行业网站建设及推广
  • 个人网站收款绍兴seo整站优化
  • 本人已履行网站备案信息浙江银安建设有限公司网站
  • wordpress网站支持中文注册网站划分栏目
  • ppt在线浏览网站源码如何建设大型电子商务网站
  • 建电影网站教程品牌logo设计公司
  • 常德网站建设产品公司中英文网站
  • 中铁建设集团有限公司门户网站asp 网站 购物车
  • 打开网站代码学校网站建设工作领导小组
  • 石家庄建设银行网点做搜狗网站优化排名
  • seo培训班 有用吗模板网站 怎么做优化
  • 分类目录网站大全做seo江苏网站关键词优化优化
  • 比较好的网页设计网站免费模板简历网站
  • 长沙建站官网北京 网站建设 公司
  • wordpress建不了网站企业官网建站联系我们
  • 酒店宾馆客栈旅馆古典网站源码 asp源码带后台nodejs适合网站开发
  • 网页设计理念和设计构思北京seo服务商
  • 广东网站建设价格一个网站需要多长时间
  • 怎么用网站的二级目录做排名wordpress修改首页布局
  • 中小企业网站建设服务公司南宁网站建设优化排名