百科狗-知识改变命运!
--

在C语言中,使用结构体的时候 "->" 和 “." 有什么区别,越详细越好,谢谢?

乐乐1年前 (2023-12-05)阅读数 7#综合百科
文章标签结构运算符

貌似没有区别。

有几种访问结构体的方法:

访问结构成员的运算符有两种,一种是结构成员运算符“·”,也称为“圆点运算符”,另一种是结构指针运算符“->”,也称“箭头运算符”。

结构成员运算符通过结构变量名访问结构体的成员。例如:

printf("%s",student.name);

结构指针运算符由减号“-”和“>”组成(中间没有空格),它通过指向结构的指针访问结构的成员。假定声明了指向struct student的指针sPtr,并且把结构student1的地址赋给了sPtr,如下列语句通过指针sPtr打印了结构student1的成员name:

printf("%s",sPtr->name);

不要在结构指针运算符的-和>之间插入空格。

在用指针和结构成员运算符引用结构成员时一定要用圆括号(*sPtr).name,因为结构成员运算符“.”比指针复引用运算符“*”的优先级高,所以圆括号是必须的。

下面的程序演示了结构成员和结构指针运算符的用法:

#include

struct student

{char *name;

char *sex;

在C语言中,使用结构体的时候 "->" 和 “." 有什么区别,越详细越好,谢谢?

};

main()

{

struct student student1;

struct student *sPtr;

student1.name="Tom";

student1.sex="male";

sPtr=&student1;

printf("%s%s%s\n%s%s%s\n%s%s%s\n",

student1.name,"'s sex is",student1.sex,

sPtr->name,"'s sex is",sPtr->sex,

(*sPtr).name,"'s sex is",(*sPter).sex);

return 0;

}

./和../以及/有什么区别?

区别是目录所在层级不一样。

.\:代表目前所在的目录。

..\:代表上一层目录。

两个都表示路径的意思。

1、相对路径-顾名思义,相对路径就是相对于当前文件的路径。网页中一般表示路径使用这个方法。

2、绝对路径-绝对路径就是你的主页上的文件或目录在硬盘上真正的路径。绝对路径就是你的主页上的文件或目录在硬盘上真正的路径。

C/C++ &与&& |与|| 的区别

&&表示逻辑与的意思,即为and。当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

比如?12&&23的结果就是1,12&&-1?的结果是1,123&&0的结果就是0。

&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException。

&表示按位与。

&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。

二进制与运算规则:1&1=1? 1&0=0? 0&0=0

15&127为什么等于15啊??

15二进制: (0000 1111)

127二进制: (1111 1111)

按位与自然就是(0000 1111)=15

||表示逻辑或逻辑或,是逻辑运算符,符号是“||”(在PASCAL中为"or")。?“逻辑或”相当于生活中的“或者”,当两个条件中有任一个条件满足,“逻辑或”的运算结果就为“真”。

12||1 =1? 12||0 =1 0||0 =0

|表示按位或按位或运算 按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位(也就是最后一位)相或。只要对应的二个二进位有一个为1时,结果位就为1。

128: (0001 0000 0000)

127: (0000 1111 1111) (高位用0补齐)

按位或就是(0001 1111 1111)=255

以上内容参考 百度百科——keil

./和../以及/之间的区别:含义不同,使用不同。

一、含义不同:

1、./是当前目录

2、../是父级目录

3、/是根目录

二、使用不同:

根目录指逻辑驱动器的最上一级目录,它是相对子目录来说的。打开“我的电脑”,双击C盘就进入C盘的根目录,双击D盘就进入D盘的根目录。其它类推。根目录在文件系统建立时即已被创建,其目的就是存储子目录(也称为文件夹)或文件的目录项。

电脑中的子目录很好理解,例如:

1、C:\是父目录,C:\Windows就是C:\的子目录。

2、C:\Windows\System32\就是C:\Windows的子目录。

使用模式

通配符优先级

对于使用通配符模式的各种资源,Tivoli Access Manager for Operating Systems 必须确定将应用何种通配符模式。例如,假设有两种模式:

/usr/local/*.log和/usr/local/user1/*.log

字符串 /usr/local/user1/x.log 与这两种模式都匹配。

为了解决这种模棱两可的情况,应用了优先级规则。模式越具体,其优先级也越高。根据这种原则,/usr/local/user1/x.log 在与 /usr/local/*.log 模式相匹配之前先与 /usr/local/user1/*.log 模式相匹配。由于找到一个匹配项,任何可应用于匹配此模式的对象的策略都将适用。

以上内容参考:百度百科-通配符

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)