蓬莱做网站哪家好seo搜索引擎优化推荐

张小明 2026/1/16 18:40:48
蓬莱做网站哪家好,seo搜索引擎优化推荐,个人如何注册商标,企业宣传画册制作两个常用的符号 取地址符 * 取指针 存的地址中的内容(指针中存的是某个内存地址#xff0c;用*指针变量 取出的是这个地址中存的内容) 指针的概念 指针 内存地址 如果指针没有限制#xff0c;那它可以指向内存中的任何位置 a内存地址 0x12345678#xff0c; 值取地址符*取指针存的地址中的内容(指针中存的是某个内存地址用*指针变量取出的是这个地址中存的内容)指针的概念指针内存地址如果指针没有限制那它可以指向内存中的任何位置a内存地址 0x12345678 值100 var a int 100*b指针变量指向了一个内存地址 0x12345678(a的内存地址)指针变量b中存了变量a的地址。这个就是b指向了avaraint100varb afmt.Println(a本身的内存地址, a)//0xc00008c0a8fmt.Println(b内存中存储的地址,b)//0xc00008c0a8fmt.Println(b本身的内存地址, b)//0xc00008e060fmt.Println(b内存中存储的地址中的值, *b)//100此时a和b内存中存储的地址是指向的同一个内存空间所以修改了*b a 和 *b都会改变(可以看做这时a *b)*b2000fmt.Println(a,a)fmt.Println(*b, *b)指针如何使用变量定义varaint100指针变量的定义 正规的定义方式varb*int a指针变量的定义 偷懒的方式c: afmt.Println(a的值,a)//100fmt.Println(a的内存地址, a)//0xc00000a0e8fmt.Println(b变量中存的地址,b)//0xc00000a0e8fmt.Println(b变量自己的内存地址, b)//0xc000054068fmt.Println(b变量中存的地址中的值, *b)//100fmt.Println(c变量中存的地址,c)//0xc00000a0e8fmt.Println(c变量自己的内存地址, c)//0xc000054070fmt.Println(c变量中存的地址中的值, *c)//100通过指针b或指针c都可以改变a的值*c123fmt.Println(a)多级指针的使用套娃多级指针指针的套娃指针指向指针 , 指针类型 第一个*指针类型 *int是这个指针对应的类型如何理解多个符号第一个取出来后后面就是它的类型 *(*(*(int)))例如*ptr3 的类型就是 **int **ptr3 的类型就是*int ***ptr的类型就是intvaraint100varptr1*int avarptr2**int ptr1varptr3***int ptr2fmt.Println(a的内存地址, a)//0xc00000a0e8fmt.Println(-----------------------------------------------)fmt.Println(ptr1变量中存的内存地址,ptr1)//0xc00000a0e8fmt.Println(ptr1变量自己的内存地址, ptr1)//0xc000054068fmt.Println(-----------------------------------------------)fmt.Println(ptr2变量中存的内存地址,ptr2)//0xc000054068fmt.Println(ptr2变量中存的内存地址中存的内存地址, *ptr2)//0xc00000a0e8fmt.Println(ptr2变量自己的内存地址, ptr2)//0xc000054070fmt.Println(-----------------------------------------------)fmt.Println(ptr3变量中存的内存地址,ptr3)//0xc000054070fmt.Println(ptr3变量中存的内存地址中存的内存地址, *ptr3)//0xc000054068fmt.Println(ptr3变量中存的内存地址中存的内存地址中存的内存地址, **ptr3)//0xc00000a0e8fmt.Println(ptr3变量自己的内存地址, ptr3)//0xc000054078fmt.Printf(%T\n, *ptr3)fmt.Printf(%T\n, **ptr3)fmt.Printf(%T\n, ***ptr3)//这时候改变a值的方式就很多了 因为*ptr1 **ptr2 ***ptr3 和 a 都是等价的因为操控的是同一片内存空间*ptr12000fmt.Println(a)**ptr23000fmt.Println(a)***ptr34000fmt.Println(a)数组指针数组指针首先它是一个指针然后指向了一个数组定义一个数组vararr [4]int{1,2,3,4}fmt.Println(arr)fmt.Printf(数组的地址%p\n, arr)//0xc0000121c0定义一个数组指针 指向数组varptr_arr*[4]int arrfmt.Println(ptr_arr)//[1 2 3 4]fmt.Println(取出内容, *ptr_arr)//[1 2 3 4] 这时*ptr_arr arrfmt.Printf(ptr_arr变量中存的地址%p\n,ptr_arr)//0xc0000121c0fmt.Printf(ptr_arr变量自己的地址%p\n, ptr_arr)//0xc000054070通过指针操作数组 原生的操作方法(*ptr_arr)[0] 100fmt.Println(arr)//[100 2 3 4]作为21世纪的新兴语言 不允许有这么的丑的代码出现由于ptr_arr指向了arr 所以就出现了语法糖 可以像正常操作数组一样操作数组指针ptr_arr[0] 123fmt.Println(arr)但这里需要注意的是虽然因为语法糖的关系可以用相同的方法操作。但是它们的类型还是有本质区别的一个是数组类型[4]int一个是数组指针类型*[4]intfmt.Printf(arr的类型%T\n,arr)//[4]intfmt.Printf(ptr_arr的类型%T\n,ptr_arr)//*[4]int指针数组指针数组首先它是一个数组数组里的每个元素保存的都是指针a:100b:200c:300d:400创建一个指针数组,数组中存放的都是变量的地址注意数组指针跟指针数组的区别 数组指针*[4]int 指针数组[4]*intptr_arr: [4]*int{a, b, c, d}fmt.Println(ptr_arr)//[0xc00008c0a8 0xc00008c0c0 0xc00008c0c8 0xc00008c0d0]通过指针修改变量的值fmt.Println(a,b,c,d)//100 200 300 400*ptr_arr[0] 666因为数组中的每个元素都是指针所以要取出每个值都需要在取出元素的时候在前面再加上*号fmt.Println(a,b,c,d)//666 200 300 400指针函数首先需要是一个函数这个函数的返回值是一个指针。funcmain() {调用了这个函数可以得到一个指针类型的返回值ptr:fn()fmt.Printf(ptr的类型%T\n,ptr)//*[4]intfmt.Printf(ptr的地址%p\n, ptr)//0xc00008e060fmt.Println(ptr中的值, *ptr)//[1 2 3 4]回顾数组指针的操作方式语法糖我们就可以来愉快的操作这个数组了fmt.Println((*ptr)[0])//原始的操作方式ptr[0] 666//香香的语法糖fmt.Println(ptr[0])}这个函数的返回值是一个指针funcfn() *[4]int{arr: [4]int{1,2,3,4}returnarr}指针作为函数参数funcmain() {a:100fmt.Printf(a变量的地址:%p\n, a)//0xc00000a0e8fmt.Printf(进入函数前 a的值 %d\n,a)updata1(a)这里可以看出 因为值类型是拷贝的关系并不会因为函数体内改变了a的值而改变a本身的值fmt.Printf(函数结束后 a的值 %d\n,a)fmt.Printf(进入函数前 a的值 %d\n,a)updata2(a)这里可以看出 因为指针是引用类型传入的是地址所以函数体内改变了a的值导致a本身的值也被改变了fmt.Printf(函数结束后 a的值 %d\n,a)}funcupdata1(aint) {fmt.Println(---,a)fmt.Printf(a变量中的地址:%p\n, a)//0xc00000a110a666fmt.Println(---,a)}funcupdata2(ptr*int) {fmt.Println(---, *ptr)fmt.Printf(ptr变量中的地址:%p\n,ptr)//0xc00000a0e8*ptr666fmt.Println(---, *ptr)}
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

汽车门户网站源码企业网站源码 一品资源网

为什么AI“很聪明”,却连自家公司的事都不知道? 想象一个场景。 一家制造企业花费了数十万的预算,接入了市面上最先进的大语言模型(LLM)。员工们兴奋地尝试让这个“无所不知”的AI助手来处理日常工作。 有人问道&am…

张小明 2026/1/9 18:50:37 网站建设

营销网站定制泰安正规网站建设公司电话

在数字音乐时代,你是否遇到过从音乐平台下载的歌曲无法在其他设备播放的困扰?Unlock-Music作为一款开源免费的音乐解锁工具,提供了完美的解决方案。它能在浏览器中直接解密多种加密音乐格式,让你真正拥有属于自己的音乐库&#xf…

张小明 2026/1/9 19:31:51 网站建设

网站开发的问题东营市住房和城乡建设局官网

Porcupine本地语音唤醒引擎:解决离线语音交互的终极技术方案 【免费下载链接】porcupine On-device wake word detection powered by deep learning 项目地址: https://gitcode.com/gh_mirrors/po/porcupine 在智能设备日益普及的今天,语音交互已…

张小明 2026/1/9 22:43:29 网站建设

关于建设网站的请示黄埔网站建设价格

1.为OSSClient添加大文件上传功能,共三个核心方法:初始化大文件上传、上传文件切片、文件整合。/** * 大文件上传-初始化大文件上传 生成大文件上传的uploadId* ps. 初始化时由filename生成的请求,在切片上传和文件整合中都需保持一致* retur…

张小明 2026/1/10 3:29:23 网站建设

网站侧边栏设计达人室内设计网官方

Docker Compose编排LLama-Factory多节点训练集群详细配置示例 在大模型研发日益普及的今天,越来越多团队希望快速开展基于LLaMA、Qwen等主流架构的微调任务。然而现实往往并不理想:环境依赖复杂、GPU资源争抢、多人协作混乱、实验难以复现……这些问题让…

张小明 2026/1/9 19:15:55 网站建设

网站建设多少钱个人互联网行业是干什么的

深度学习模型跨数据集性能终极指南:从实战到优化 【免费下载链接】pytorch-image-models huggingface/pytorch-image-models: 是一个由 Hugging Face 开发维护的 PyTorch 视觉模型库,包含多个高性能的预训练模型,适用于图像识别、分类等视觉任…

张小明 2026/1/9 23:20:32 网站建设