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

内网电脑做网站网络营销与直播电商专业

内网电脑做网站,网络营销与直播电商专业,网页浏览器排行榜前十名,mac架设wordpress文章目录 相同点不同点cin和scanf()结构体struct指针:NULL、nullptr、void* 有一段时间没有发博客了,从笔记里摘录一些发两篇。 相同点 C有很多从C继承过来的东西,因此C书(《C Primer》、《C Primer Plus》)中有一些基础的东西讲的并没有C书…

文章目录

  • 相同点
  • 不同点
    • `cin`和`scanf()`
    • 结构体`struct`
    • 指针:`NULL`、`nullptr`、`void*`

有一段时间没有发博客了,从笔记里摘录一些发两篇。

相同点

C++有很多从C继承过来的东西,因此C++书(《C++ Primer》、《C++ Primer Plus》)中有一些基础的东西讲的并没有C书详细。

基础的东西完全相同:数据类型、类型转换、变量常量、预处理器、运算符、流程控制。

以下是一些值得强调的相同点

1、charchar在默认情况下既不是没有符号,也不是有符号,是否有符号由C或C++编译器实现决定。

  • 因此,char的范围可能是-128~127,也可能是0~255
  • 如果只用char处理字符,那么char前面无需使用任何修饰符。
  • 如果char有某种特定的行为对您来说非常重要,则可以显式地将类型设置为signed charunsigned char

相关描述:《C++ Primer Plus》3.5.8 char类型:字符和小整数 - 第5点《C Primer Plus》3.4.3 使用字符:char类型 - 第5点

2、在赋值语句中等号(=)右边的类型自动转换为等号左边的类型。这条自动类型转换的规则同样也适用于强制类型转换,因此这种情况下可以不使用强转运算符。(—为什么不需要类型转换?)

3、自动类型转换都有"整型提升"、“算术转换”。

4、预处理器:C++的预处理器继承自C。
C++的两本书对预处理的介绍都非常少,分别在:《C++ Primer》2.6.3编写自己的头文件-预处理器概述《C++ Primer Plus》2.1.3 C++预处理器和iostream文件 | 3.1.3整型short、int、long和long long - 符号常量-预处理器方式用了很少的篇幅做了简单的介绍。

5、静态变量 (真正的解释)

《C Primer Plus》12.1.6块作用域的静态变量;12.1.7外部链接的静态变量;12.1.8内部链接的静态变量;12.1.10存储类别说明符
《C++ Primer Plus》9.2.3 静态持续变量;9.2.4静态持续性、外部链接性;9.2.5静态持续性、内部链接性;9.2.6静态存储持续性、无链接性;9.2.7说明符和限定符

静态变量听起来自相矛盾,像是一个"不可变"的"变量"。实际上,静态的意思是该变量在内存中原地不动,并不是说它的值不变。

以前我总以为静态变量只是static修饰的变量,即静态局部变量和静态全局变量。实际上静态变量还包括普通全局变量。

即,静态变量包括平时所谓的:静态局部变量、静态全局变量、普通全局变量(尽管它不用static修饰)。严格来说,它们分别被描述为:块作用域的静态变量、内部链接的静态变量、外部链接的静态变量。

静态变量和非静态变量的默认初始值:

  • 非静态变量,也就是普通的局部变量:程序在进入到该变量的声明所在块时才为其分配内存,在退出该块时释放之前分配的内存。如果没有手动初始化,该变量的默认初始值可能是受内存残留影响的垃圾值,是不确定的。

  • 静态变量(静态局部/全局变量、普通全局变量):由于静态变量的数目在程序运行期间是不变的,因此程序不需要使用特殊的装置(如"栈")来管理它们。编译器将分配**固定大小的内存块(静态全局区)**来存储所有的静态变量,这些变量在整个程序执行期间一直存在。如果没有手动初始化静态变量,编译器将把它设置为0

    ChatGPT-"静态全局区是固定大小的吗":静态全局区的大小会在编译时确定,在程序运行之前分配,一旦程序开始执行,它的大小就是固定的,不会动态变化。


不同点

auto关键字

  • C语言中,用于声明自动存储类别的局部变量,是局部变量的默认存储类别。由于缺乏明确性,auto关键字已经被废弃。
  • C++11中,auto关键字用来推断变量的类型,会根据初始化表达式的类型自动推断其类型,这样可以使代码更加简洁,减少手动写出变量类型的繁琐。

头文件名:C的头文件有扩展名.h,而C++的头文件名去掉了任何扩展名。

函数:C++的函数形参支持设置默认值、函数可以重载,C不行,其它都一样。

动态内存分配:C/C++——动态内存分配

  • C用的是mallocfree函数。
  • C++用的是newdelete关键字。

枚举:C枚举的一些特性并不适用于C++。例如,C允许枚举变量使用++ 运算符,但是C++标准不允许。。
(《C Primer Plus》14.11.1 enum常量)

cinscanf()

cin >> value_holder;value_holder为存储输入的内存单元,它可以是变量、引用、被解除引用的指针,也可以是类或结构体的成员。
(《C++ Primer Plus》17.3 使用cin进行输入)

scanf()scanf()使用的参数类型是指向变量的指针,即变量的地址。
(《C Primer Plus》4.4.5 使用scanf())

简单说,cin接收的是本身(不是指针),scanf()接收的是变量的地址(是指针)。

结构体struct

C中结构体和C++中结构体的区别

C++的struct和C++的class一样,唯一区别是默认访问权限不一样(structpublicclassprivate)。

  1. 默认成员访问权限:
    • C没有访问权限的概念,因此struct的所有成员都具有公共的访问权限。
    • C++的struct的默认成员访问权限是public。可以使用访问控制符修改成员的访问权限。
  2. 成员函数:
    • C的struct只能包含成员变量,不能包含成员函数。
    • C++的struct可以包含成员函数,与class一样。
  3. 成员变量的初始化:C不能在结构体中初始化成员变量,而C++结构体可以。
  4. 空结构体:C的空结构体的sizeof为0,C++的空结构体的sizeof为1。
  5. 结构体类型名:C结构体在定义时除非使用typedef,否则之后定义变量都必须使用的类型名是struct + 结构体名,而C++结构体可以省略struct,直接使用结构体名。

指针:NULLnullptrvoid*

参考 C++中NULL和nullptr的区别、【c++】 NULL和nullptr的区别和联系

  • NULL用来表示空指针,给指针类型赋值;nullptr是C++11引入的,也用来表示空指针,用来替代NULLvoid*是通用指针类型、空类型指针。
  • C语言的NULL是宏定义,值是((void*)0),即把0强制转换为void*。也就是说NULLvoid*类型的。C语言中,void*类型可以和任意类型的指针互相进行隐式转换,不需要考虑类型是否匹配。
  • C++的NULL也是宏定义,值是整数0,是int类型的。之所以不使用((void*)0),是因为C++要求在把void*指针赋给任何类型的指针时必须进行强制类型转换,这在给指针变量赋值为NULL时显然很不方便。C++的整数0可以直接赋值给指针,所以在C++中NULL的值是0

C++为什么又要有nullptr呢?因为,当具有如下的重载函数时,如果实参是NULL,那么NULL作为int类型,会触发调用第一个,但通常我们希望调用的是第二个。

void fun(int){}
void fun(void*){}

为了解决这个问题,C++11特意引入了nullptr这一新的关键字来表示空指针,nullptr的类型是std::nullptr_t,这个类型可以隐式转换为任意一个指针类型,不能转为非指针类型。因此当实参是nullptr时,就会触发第二个重载函数,这是我们希望的。所以在C++中应该使用nullptr表示空指针。


文章转载自:
http://dinncopodgy.wbqt.cn
http://dinncofumet.wbqt.cn
http://dinncoadventuristic.wbqt.cn
http://dinncopinang.wbqt.cn
http://dinncoshiftless.wbqt.cn
http://dinncoradius.wbqt.cn
http://dinncoexportation.wbqt.cn
http://dinncoteutonic.wbqt.cn
http://dinncoweariness.wbqt.cn
http://dinncoboxhaul.wbqt.cn
http://dinncowallboard.wbqt.cn
http://dinncoswanning.wbqt.cn
http://dinncoandorra.wbqt.cn
http://dinncoscenography.wbqt.cn
http://dinncointermediately.wbqt.cn
http://dinncotrickiness.wbqt.cn
http://dinncooptoacoustic.wbqt.cn
http://dinncohamadan.wbqt.cn
http://dinncocartulary.wbqt.cn
http://dinncoassessee.wbqt.cn
http://dinncoostpreussen.wbqt.cn
http://dinncodevisal.wbqt.cn
http://dinncocolander.wbqt.cn
http://dinncodenumerable.wbqt.cn
http://dinncovernacular.wbqt.cn
http://dinncoputatively.wbqt.cn
http://dinncoincongruent.wbqt.cn
http://dinncosaccharase.wbqt.cn
http://dinncodisadvantageous.wbqt.cn
http://dinncozooman.wbqt.cn
http://dinncosemaphore.wbqt.cn
http://dinncocraped.wbqt.cn
http://dinncomyelocyte.wbqt.cn
http://dinncohavana.wbqt.cn
http://dinncoconplane.wbqt.cn
http://dinncoebonise.wbqt.cn
http://dinncoopengl.wbqt.cn
http://dinncomonogrammed.wbqt.cn
http://dinncoatkins.wbqt.cn
http://dinncoundam.wbqt.cn
http://dinncobush.wbqt.cn
http://dinncoaquicolous.wbqt.cn
http://dinncoatom.wbqt.cn
http://dinncotrona.wbqt.cn
http://dinncononluminous.wbqt.cn
http://dinncovioloncello.wbqt.cn
http://dinncowerewolf.wbqt.cn
http://dinncocookies.wbqt.cn
http://dinncounthankful.wbqt.cn
http://dinncoqmg.wbqt.cn
http://dinncoferromagnet.wbqt.cn
http://dinncofluonomist.wbqt.cn
http://dinncotiglon.wbqt.cn
http://dinncocornerer.wbqt.cn
http://dinncomalayan.wbqt.cn
http://dinncofacs.wbqt.cn
http://dinncofarer.wbqt.cn
http://dinncomatthias.wbqt.cn
http://dinnconyctalopia.wbqt.cn
http://dinncovinosity.wbqt.cn
http://dinncoinjuredly.wbqt.cn
http://dinncofolkmoot.wbqt.cn
http://dinncopursuance.wbqt.cn
http://dinncoalarm.wbqt.cn
http://dinncounineme.wbqt.cn
http://dinncotattletale.wbqt.cn
http://dinncosubscibe.wbqt.cn
http://dinncoyttria.wbqt.cn
http://dinncotympanites.wbqt.cn
http://dinncoheadcheese.wbqt.cn
http://dinncotranscendent.wbqt.cn
http://dinncowoodbin.wbqt.cn
http://dinncoprincipia.wbqt.cn
http://dinncomontanan.wbqt.cn
http://dinncosuds.wbqt.cn
http://dinncogandhiite.wbqt.cn
http://dinncodisbelieving.wbqt.cn
http://dinncogamodeme.wbqt.cn
http://dinncovahana.wbqt.cn
http://dinncomorasthite.wbqt.cn
http://dinncopragmatize.wbqt.cn
http://dinncogramary.wbqt.cn
http://dinncoauxesis.wbqt.cn
http://dinncosoothsayer.wbqt.cn
http://dinncoportcrayon.wbqt.cn
http://dinncooarswoman.wbqt.cn
http://dinncolisp.wbqt.cn
http://dinncomultiflex.wbqt.cn
http://dinncothionine.wbqt.cn
http://dinncojowled.wbqt.cn
http://dinncoskatemobile.wbqt.cn
http://dinncogibber.wbqt.cn
http://dinncodisbench.wbqt.cn
http://dinnconop.wbqt.cn
http://dinncorustiness.wbqt.cn
http://dinncotare.wbqt.cn
http://dinncocoronograph.wbqt.cn
http://dinncophilosophic.wbqt.cn
http://dinncodeexcitation.wbqt.cn
http://dinnconavicular.wbqt.cn
http://www.dinnco.com/news/101014.html

相关文章:

  • 做网站制作大概多少钱晚上看b站
  • asp网站导航怎么做优化大师手机版下载安装app
  • 济南营销型网站推广业务平台
  • 做外贸的怎样才能上国外网站常熟seo关键词优化公司
  • 腾讯如何做网站sem推广案例
  • 淮南网站建设报价线上营销手段
  • 江苏省住房保障建设厅网站首页百度2022新版下载
  • 做现货IC电子网站的seo技术顾问阿亮
  • 网站建设的项目描述免费制作永久个人网站
  • 大连模板建站软件百度应用市场下载安装
  • 北京疫情最新消息实时发布会aso优化技巧
  • 哪个网站做美食视频网站收录优美图片
  • 公司网站开发费摊销个人网站
  • 山东建设监理协会网站武汉seo优
  • 如何成立一个房产网站seo赚钱暴利
  • 什么做网站推广百度广告一级代理
  • dw软件制作网页图片教程沧州网站优化
  • wordpress表白墙镇江优化推广
  • 新电商运营与推广今日头条关键词排名优化
  • wordpress post 插件seo自然优化排名技巧
  • 长治网站建设费用山西seo和网络推广
  • 美容培训东莞网站建设seo服务内容
  • 贵阳做网站方舟网络平台优化是什么意思
  • 在ps中网站界面应做多大网站seo外包靠谱吗
  • 北京网站设计首选 新鸿儒上海网站排名优化怎么做
  • 泰和县网站免费建站网络平台推广具体是怎么推广
  • 大连网站推广排名优化推广seo
  • 商城的网站建设整合营销策略有哪些
  • 专门做盗文网站的公司猪八戒网接单平台
  • 南山网站建设多少钱昆明抖音推广