首页 > 其他分享 >进阶版

进阶版

时间:2023-11-30 22:32:13浏览次数:29  
标签:arr return 进阶 int char printf 指针

1.浮点数在内存中的存储

#define _CRT_SECURE_NO_WARWINGS

#include <stdio.h>

//int main()

//{

// int a = 10;

// float f = 10.0;

//

// return 0;

//}


//int main()

//{

// int a = 20;//

// //00000000000000000000000000010100  -源码

// //00000000000000000000000000010100 - 反码

// //00000000000000000000000000010100 补码

// //0x00000014

// int b = -10;

// //100000000000000000000000000001010 - 源码

// //111111111111111111111111111110101 - 反码

// //1111 1111 1111 1111 1111 1111 1111 10110 - 补码

// //0xFFFFFF6

// return 0;

//}

//int main()

//{

// 1 - 1;

// //1+(-1)

// //

//

//}

//int check_sys()

//{

// int a = 1;

// char*p = (char*)&a;

// if (*p == 1)

//  return 1;

// else

//  return 0;

//}

//int check_sys()

//{

// int a = 1;

// char*p = (char*)&a;

// //返回1,小端

// //返回0,大端

// return *p;

//}

//int check_sys()

//{

// int a = 1;

// return *(char*)&a;

//}

////指针类型意义

////1.指针类型决定了指针解引用操作符能访问几个字节  cahr*p 访问了1个字节,int*p访问了四个字节

////2.指针类型决定了指针+1 -1,加的或者减是几个字节;cahr *p; p+1,跳过一个字节,int*p; p+1,跳过一个整型 -4个字节

//

//int main()

//{

// //写一段代码告诉我们当前机器的字节序是什么

// //返回1,小端

// //返回0.大端

// int ret = check_sys();

// if (ret == 1)

// {

//  printf("小端\n");

// }

// else

// {

//  printf("大端\n");

// }

// return 0;

//}

//int main()

//{

// int a = 0x11223344;

// /*int *p = &a;

// *p = 0;*/

// char*p = (char*)&a;

// *p = 0;

//

// return 0;

//}

//int main()

//{

// char = -1;

// //10000000000000000000000000000000

// //11111111111111111111111111111110

// //11111111111111111111111111111111

// signed char = -1;

// unsigned char = -1;//运用整型提升无符号数高位补0,补全最高位为32位之后在用源码输出

// printf("a = %d\n,b= %d\n,c = %d\n", a, b, c);

// return 0;

//}

//int main()

//{

// char a = -128;

// //1000000000000000000000100000

// //1111111111111111111111011111

// //1111111111111111111111100000

// printf("%u\n", a);//%u打印十进制无符号数

// char b = 128;

// printf("%u\n", b);

// return 0;

//}

//int main()

//{

// int i = -20;

// unsigned int j = 10;

// printf("%d\n", i + j);

// return 0;

//

//}

//int mian()

//{

// unsigned int i;

// for (i = 9; i >= 0; i--)

// {

//

// }

//}

//int main()

//{

// char a[1000];

// int i;

// for (i = 0; i < 1000; i++)

// {

//  a[i] = -1 - i;

// }

// printf("%d", strlen(a));

// return 0;

//}

//int main()

//{

// double d = 1E10;

// printf("%lf\n", d);

//

// return 0;

//}


//9.0

//1001.0

//(-1)^0 *1.001*2^3

//(-1)^S *M    *2^E

//s - 0

//M - 1.001

//E - 3

//0.5

//0.1

//(-1)^0

//int main()

//{

// int n = 9;

// float *pFloat = (float *)&n;

// printf("n的值为:%d\n", n);

// printf("*pFloat的值为:%f\n", *pFloat);

//

// *pFloat = 9.0;

// printf("num的值为: %d\n", n);

// printf("*pFlaot的值为:%f\n", *pFloat);

// return 0;

//

//}

//int main()

//{

//

//}

//int main()

//{

// float f = 5.5;

// //5.5

// //101.1

// //(-1)^0*1.011*2^2

// //S = 0;

// //M = 1.011

// //E = 2

// //0100 0000 1011 0000 0000 0000 0000 0000

// //(-1)*0 1.011* 2^2

// //0x40b00000

//

//                      //3.14

//                     //11.0100101010101

// return 0;

//}


//void test(int arr[])

//{

// int sz = sizeof(arr) / sizeof(arr[0]);

// printf("%d\n", sz);

//

//}

//int main()

//{

// int arr[10] = { 0 };

// test(arr);

//

// return 0;

//}

//int main()

//{

// char ch = 'w';

// char*pc =  &ch;

// *pc = 'w';

// return 0;

//}

//int main()

//{

// char* p = "abcdef";//"abcdef"是一个常量字符串

// printf("%s\n", p);

// return 0;

//

//

//}

//int main()

//{

// char arr1[] = "abcdef";

// char arr2[] = "abcdef";

// const char* p1 = "abcdef";

// const char*  

//  

//  p2 = "abcdef";

// if (p1 == p2)

// {

//  printf("hehe\n");

// }

// else

// {

//  printf("haha\n");

// }

// return 0;

// //if (arr1 == arr2)

// //{

// // printf("hehe\n");

// //}

// //else

// //{

// // printf("haha\n");

// //}

// //retur

//指针数组 是数组,用来存放指针

//int main()

//{

// int arr[10] = { 0 };//整型数组

// char ch[5] = { 0 };// 字符数组

// int* parr[4];//存放整型指针的数组 - 指针数组

// char* pch[5];//存放字符指针的数组 - 指针数组

//

// return 0;

//}

//int main()

//{

// int a = 10;

// int b = 20;

// int c = 30;

// int d = 40;

// int* arr[4] = { &a, &b, &c, &d };

// int i = 0;

// for (i = 0; i < 4; i++)

// {

//  printf("%d ", *(arr[i]));

// }

// return 0;

//}

//int main()

//{

// int arr1[] = { 1, 2, 3, 4, 5 };

// int arr2[] = { 2, 3, 4, 5, 6 };

// int arr3[] = { 3, 4, 5, 6, 7 };

// int *parr[] = { arr1, arr2, arr3 };

//

// int i = 0;

// for (i = 0; i < 3; i++)

// {

//  int j = 0;

//  for (j = 0; j < 5; j++)

//  {

//   printf("%d ", *(parr[i] + j));

//  }

//  printf("\n");

//  

// }

// return 0;

//}

//数组指针 - 指针

//

//int main()

//{

// int *p = NULL; //p整形指针 - 指向整型的指针

// char* pc = NULL;//pc是字符指针 - 指向字符的指针

// //数组指针 - 指向数组的指针 - 存放数组的地址

//

// int arr[10] = { 0 };

// //arr -首元素地址

// //&arr[0] - 首元素的地址

// //&arr- 数组的地址

//

// int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

// int(*p)[10] = &arr;//数组的地址要存起来

// //上面的p就是数组指针

//

//

// return 0;

//}

//int main()

//{

// char* arr[5];

// pa = &arr;

// char*(*pa)[5] = &arr;

// int arr2[10] = { 0 };

// int(*pa2)[10] =&arr2;

// return 0;

//}

//int main()

//{

// int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

// int(*pa)[10] = &arr;

// int *p = arr;

// int i = 0;

// for (i = 0; i < 10; i++)

// {

//  printf("%d ", *(p + i));

// }

// //int i = 0;

// //for (i = 0; i < 10; i++)

// //{

// // printf("%d ", *(*pa+i));//*pa == arr

// //}

// /*for (i = 0; i < 10; i++)

// {

//  printf("%d ", (*pa)[i]);

// }*/

// return 0;

//}

//参数是数组的形式

//void print1(int arr[3][5], int x, int y)

//{

// int i = 0;

// int j = 0;

// for (i = 0; i < x; i++)

// {

//  for (j = 0; j < y; j++)

//  {

//   printf("%d ", arr[i][j]);

//  }

//  printf("\n");

// }

//}

////参数是指针的形式

//void print2(int(*p)[5],int x,int y)

//{

// int i = 0;

// for (i = 0; i < x; i++)

// {

//  int j = 0;

//  for (j = 0; j < y; j++)

//  {

//   printf("%d ", p[i][j]);

//   //printf("%d ", *(p[i] + j);

//   /*printf("%d ", *(*(p + i) + j));*/

//   //printf("%d ", (*(p + 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 } };

// print1(arr, 3, 5);//arr - 数组名 - 数组名就是首元素地址

// print2(arr, 3, 5);//

// /*int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

// int i = 0;

// int* p = arr;*/

//

// //for (i = 0; i < 10; i++)

// //{

// // printf("%d ", p[i]);

// // printf("%d ", *(p + i));

// // printf("%d ", *(arr + i));

// // printf("%d ", arr[i]);//arr[i] ==*(arr+i)== *(p+i) ==p[i]

// //}

//

// return 0;

//}

int arr[5]; //arr是一个5个元素的整型数组

int* parr1[10]; //parr1是一个数组,数组有10个元素,每个元素的类型是int*,   parr1 是指针数组

int(*parr2)[10]; //parr2是一个指针,该指针指向了一个数组,数组有十个元素,每个元素的类型是int, parr2是数组指针

int(*parr3[10])[5];//parr3是一个数组,该数组有10个元素,每个元素是一个数组指针该数组指针指向的数组有5个元素,每个元素是int -- 二维数组



int main()

{

//字符指针

char ch = 'W';

char* p = &ch;

const char* p2 = "abcdef";//

//指针数组 - 数组 - 存放指针的数组

int* arr[10];

char* ch[5];

//数组指针

//int* p3;//整型指针 - 指向整型的指针

//char* p4;//字符指针 - 指向字符的

int arr2[5];//数组

int(*pa)[5] = &arr2;//取出数组的地址,pa就是一个数组指针


return 0;


}

标签:arr,return,进阶,int,char,printf,指针
From: https://blog.51cto.com/u_16316543/8634448

相关文章

  • CSS进阶1--字体样式-文本样式
    link.css--连接外部样式表1.文字样式:①font-family:字体样式②font-style:文本的字体样式 属性:normal-正常 italic-斜体字样式显示 oblique-文字向一边倾斜(与italic类似,但不太支持)③font-variant--以小型大写字体或正......
  • 代码随想训练营第四十五天(Python)| 70. 爬楼梯 (进阶)、322. 零钱兑换 、 279.完全平方数
    70.爬楼梯(进阶)1、使用01背包解法classSolution:defclimbStairs(self,n:int)->int:#dp数组代表爬上第i阶有dp[j]种方法dp=[0]*(n+1)dp[0]=1m=2#排列先背包后物品foriinrange(n+1):......
  • 基于双下划线的跨表查询 进阶连续跨表查询
    基于双下划线的跨表查询:#连表查询#基于对象的跨表查询,先查对象,通过对象再去查另一个对象(正向:字段名,反向:表名小写/表名小写_set.all())#地址为山东的作者写的所有书#author_detail=models.AuthorDetail.objects.get(addr='山东')#author=author_detail.autho......
  • Pandas数据框操作进阶
    Pandas为Python营造了一个高水平的操作环境,还提供了便于操作的数据结构和分析工具。无需更多介绍,Pandas已经是Python中数据分析的常用工具了。作为一个数据科学家,Pandas是我日常使用的工具,我总会惊叹于它强大的功能,并且极大提升了工作效率的Pandas技巧。对于pandas新手而言,Pandas......
  • SpringMVC_2023_11_28_3 SpringMVC_进阶(文件的上传--idea的配置)
    SpringMVC_进阶(文件的上传--idea的配置)项目结构......
  • 网站SEO进阶指南:如何用Python爬虫进行网页结构优化
    前段时间一个做网络优化的朋友找我,问我能不能通过爬虫的手段对他们自己的网络进行优化。这个看着着实比较新颖,对于从事爬虫行业的程序员来说,很有挑战性,值得尝试尝试。说白了使用爬虫进行网站优化需要对网站的结构、内容、链接等进行全面的分析和优化,以提高网站在搜索引擎中的排名和......
  • SpringMVC_2023_11_28_1 SpringMVC_进阶(数据的接收)
    SpringMVC进阶2023-11-2910:13:40星期三数据的接收a)页面传递的属性名和后台接受的属性名不一致时,如何处理?@RequestParam("页面组件中的属性名")@RequestMapping(value="/login",method=RequestMethod.POST)publicStringlogin(@RequestParam("......
  • 【Python爬虫】第11篇:Mongodb数据库进阶使用。从0到scrapy高手笔记(附代码,可自取)
    本文主要学习一下关于爬虫的相关前置知识和一些理论性的知识,通过本文我们能够知道什么是爬虫,都有那些分类,爬虫能干什么等,同时还会站在爬虫的角度复习一下http协议。全套笔记和代码自取地址:请移步这里感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~共8章,37子模块Mongodb数......
  • 【Python进阶】第7篇:TCP和socket客户端程序开发。总结md文档集合(已分享,附代码)
    本文从14大模块展示了python高级用的应用。分别有Linux命令,多任务编程、网络编程、Http协议和静态Web编程、html+css、JavaScript、jQuery、MySql数据库的各种用法、python的闭包和装饰器、mini-web框架、正则表达式等相关文章的详细讲述。全套笔记和代码自取地址:请移步这里感......
  • MPV进阶使用:LIBMPV
    一、介绍mpv不仅提供了IPC的使用方式,还提供了函数库,方便将mpv嵌入其他程序。EMBEDDINGINTOOTHERPROGRAMS(LIBMPV)mpvcanbeembeddedintootherprogramsasvideo/audioplaybackbackend.Therecommendedwaytodosoisusinglibmpv.Seelibmpv/client.hinthe......