c语言中/*什么意思
->是一个整体,它是用于指向结构体、C++中的class等含有子数据的指针用来取子数据。换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”.
举个例子:
struct Data
{
int a,b,c;
}; /*定义结构体*/
struct Data * p;/*定义结构体指针*/
struct Data A = {1,2,3};/*声明变量A*/
int x;/*声明一个变量x*/
p = &A ; /*让p指向A*/
x = p->a;/*这句话的意思就是取出p所指向的结构体中包含的数据项a赋值给x*/
/*由于此时p指向A,因而 p->a == A.a,也就是1*/
对于一开始的问题 p = p->next;这应该出现在C语言的链表,这里的next应该是一个与p同类型的结构体指针,其定义格式应该是:
struct Data
{
int a;
struct Data * next;
};/*定义结构体*/
…………
main()
{
struct Data * p;/*声明指针变量p*/
……
p = p->next;/*将next中的值赋给p*/
}
链表指针是C语言的一个难点,但也是重点,学懂了非常有用。要仔细讲就必须先讲变量、指针。
扩展资料:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。
每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。
由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。
使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。
但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。
链表最明显的好处就是,常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的存取往往要在不同的排列顺序中转换。
链表允许插入和移除表上任意位置上的节点,但是不允许随机存取。链表有很多种不同的类型:单向链表,双向链表以及循环链表。
链表可以在多种编程语言中实现。像Lisp和Scheme这样的语言的内建数据类型中就包含了链表的存取和操作。
程序语言或面向对象语言,如C,C++和Java依靠易变工具来生成链表。
参考资料:链表–百度百科
%是求模的意思,两边必须是整数类型的,求模常用符号为mod,就是我们小学学的求余运算符。
例如50%23=4,因为余数为4,所以在程序中必须保证两边为整数才是这个意思。
扩展资料“模”是“Mod”的音译,模运算多应用于程序编写中。 Mod的含义为求余。模运算在数论和程序设计中都有着广泛的应用,从奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,从孙子问题到凯撒密码问题,无不充斥着模运算的身影。虽然很多数论教材上对模运算都有一定的介绍,但多数都是以纯理论为主,对于模运算在程序设计中的应用涉及不多。
基本性质
(1)若p|(a-b),则a≡b (% p)。例如 11 ≡ 4 (% 7), 18 ≡ 4(% 7)
(2)(a % p)=(b % p)意味a≡b (% p)
(3)对称性:a≡b (% p)等价于b≡a (% p)
(4)传递性:若a≡b (% p)且b≡c (% p) ,则a≡c (% p)
参考资料模运算_百度百科
/*是C语言注释的起始标识。
在C语言中,可以使用/* */作为注释文字的起始和结束标识,在/*和*/中间的文字,将不会被编译器处理,而只是提供给其它人阅读。
/*和*/可以不处于一行。
/**/注释不可以嵌套使用,即在/*和*/中间,不可以出现其它的/*和*/。
扩展资料
基本特性
1、高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。
2、结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
3、代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件操作的场合,优于其它高级语言。
近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。
Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。
参考资料来源:百度百科-c语言
/*是C语言注释的起始标识。
在C语言中,可以使用/* */作为注释文字的起始和结束标识,在/*和*/中间的文字,将不会被编译器处理,而只是提供给其它人阅读。
/*和*/可以不处于一行。
/**/注释不可以嵌套使用,即在/*和*/中间,不可以出现其它的/*和*/。
这是C语言的逻辑运算符:异或
这个网站讲的非常详细,我摘抄了一些,详细的你看以看看。有很例子,好懂!
逻辑运算符把各个运算的变量(或常量)连接起来组成一个逻辑表达式。
逻辑运算符有4个,它们分别是: !(逻辑非)、 ||(逻辑或)、&&(逻辑与) ^(异或)。在位运算里面还有 &(位与)、|(位或)的运算。
什么是逻辑运算--逻辑运算用来判断一件事情是“对”的还是“错”的,或者说是“成立”还是“不成立”,判断的结果是二值的,即没有“可能是”或者“可能不是”,这个“可能”的用法是一个模糊概念,在计算机里面进行的是二进制运算,逻辑判断的结果只有二个值,称这二个值为“逻辑值”,用数的符号表示就是“1”和“0”。其中“1”表示该逻辑运算的结果是“成立”的,如果一个逻辑运算式的结果为“0”,那么这个逻辑运算式表达的内容“不成立“。
例 1:通常一个教室有二个门,这二个门是并排的。要进教室从门A进可以,从门B进教室也行,用一句话来说是“要进教室去,可以从A门进‘或者’从B门进”
用逻辑符号来表示这一个过程--能否进教室用符号C表示,教室门分别为A和B。C的值为1表示可以进教室,为0 表示进不了教室。A和B的值为1时表示门是开的,为0表示门是关着的,列表如下:
说明 C A B
2个教室的门都关着,进不去教室 0 0 0
门B是开着的,可以进去 1 0 1
门A是开着的,可以进去 1 1 0
门A和B都是开着的,可以进去 1 1 1
把表中的过程写成逻辑运算就是: C = A || B 这就是一个逻辑表达式,它是一个“或”运算的逻辑表达式。这个表达式要表达的是这个意思--如果要使得C为1,只要 A“或”B其中之一为 1即可以达到。所以“||”运算称为“或”运算。
这是C语言的逻辑运算符:异或
这个网站讲的非常详细,我摘抄了一些,详细的你看以看看。有很例子,好懂!
逻辑运算符把各个运算的变量(或常量)连接起来组成一个逻辑表达式。
逻辑运算符有4个,它们分别是: !(逻辑非)、 ||(逻辑或)、&&(逻辑与) ^(异或)。在位运算里面还有 &(位与)、|(位或)的运算。
什么是逻辑运算--逻辑运算用来判断一件事情是“对”的还是“错”的,或者说是“成立”还是“不成立”,判断的结果是二值的,即没有“可能是”或者“可能不是”,这个“可能”的用法是一个模糊概念,在计算机里面进行的是二进制运算,逻辑判断的结果只有二个值,称这二个值为“逻辑值”,用数的符号表示就是“1”和“0”。其中“1”表示该逻辑运算的结果是“成立”的,如果一个逻辑运算式的结果为“0”,那么这个逻辑运算式表达的内容“不成立“。
例 1:通常一个教室有二个门,这二个门是并排的。要进教室从门A进可以,从门B进教室也行,用一句话来说是“要进教室去,可以从A门进‘或者’从B门进”
用逻辑符号来表示这一个过程--能否进教室用符号C表示,教室门分别为A和B。C的值为1表示可以进教室,为0 表示进不了教室。A和B的值为1时表示门是开的,为0表示门是关着的,列表如下:
说明 C A B
2个教室的门都关着,进不去教室 0 0 0
门B是开着的,可以进去 1 0 1
门A是开着的,可以进去 1 1 0
门A和B都是开着的,可以进去 1 1 1
把表中的过程写成逻辑运算就是: C = A || B 这就是一个逻辑表达式,它是一个“或”运算的逻辑表达式。这个表达式要表达的是这个意思--如果要使得C为1,只要 A“或”B其中之一为 1即可以达到。所以“||”运算称为“或”运算。
如果还没解决你的问题,可以加我百度HI账号。
&: 在C语言中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。
一语言中是什么意思
言读音:yán 释义:1、讲,说:言说。言喻。言道。言欢。言情。言必有中。2、说的话:言论。言辞。语言。言语。言简意赅。3、汉语的字:五言诗。七言绝句。洋洋万言。4、语助词,无义:言归于好。“言告师氏,言告言归”。5、姓。成语有:【成语】: 言之有故。【拼音】: yán zhī ...
c语言程序中的优先顺序
以下是C语言中常见的运算符和关键字的优先级:1. 结合性:单目运算符、乘方运算、乘法和除法运算符具有右结合性,加法和减法运算符具有左结合性。2. 优先级:1. 乘方运算、整数除法、取模运算、取整运算、自增自减运算、逻辑非运算、位异或运算、位与运算、位或运算、位取反运算。2. 加法、减法、...
c语言中~表示什么意思?
~ 英文符号叫Tilde,意思是颚化符号,鼻音化符号,代字号,中文俗称波浪号。波浪号形式上有三种,一种是居于格子中间,如“~ ”;一种是居于格子上方,如问题中的位置;一种是大波浪,比前一种符号要大些,如“~”。
?在编程逻辑中表示什么意思?
?在语言中表示疑问,那么疑问来自于判断。:在语言中表示判断的结果选择。所以编程逻辑就是先进行判断,然后再进行选择。例如,当a>b时,x=1否则x=0,可以写成x=a>b?1:0。
C语言编程中头文件的作用是什么?
在C语言中,头文件包含了一些已定义的常量、函数原型和其他一些必要的定义,是编程过程中不可或缺的部分。以下是头文件的主要作用:1. 定义全局变量、函数等 全局变量可以在多个文件中共享,但是声明和定义需要分开,头文件可以作为一个链接将声明和定义联系起来。2. 声明库函数 标准库函数,如printf、...
c语言中for语句是怎么用的
for()循环,最常用的循环 语法结构:for(语句1;语句2;语句3){ 循环体 } 语句1:初值表达式,用于在循环开始前为循环变量赋初值 语句2:循环控制逻辑表达式,它控制循环执行的条件,决定循环的次数 语句3:循环控制变量修改表达式,它使for循环趋向结束 循环体:需要重复执行的语句 例程:include<stdio....
c语言中~是什么意思
是按位取反,一个一元运算符,表示将一个数转为二进制,然后一位一位地看,是0则变为1,是1则变为0。例如:一个4位2进制数的3(二进制的"11",补到4为是"0011")按位取反,得1100,第一位是符号位,表示-,100的十进制为4,所以~3=-4 ...
语音四要素在语言中的别义情况
音长是指声音的长短,它由发音时物体振动持续时间的长短所决定,发音体振动时间长,则音长越长,否则就越短。汉语中一般不用音长作为主要的区别意义的手段,但音长作为发音中的一个自然属性,经常以伴随性的特征出现。音质 音质也叫音色,是指声音的本质特征,是一个音与其它音进行区别的最根本的特征。
c语言中关于*和&的意思理解
代表指针运算符和乘法运算符;&代表取地址,与运算符,引用符。用于二目运算中的按位(位运算)与运算:单目是只需要一个操作数的意思,比如:a++ a-- *a &a 双目是需要两个操作数的意思,比如:a+b a-b a*b a\/b a%b 三目是需要三个操作数的意思,比如:a=c>b?c:b;例如...
C语言中->是什么意思啊?
->是一个整体,它是用于指向结构体、C++中的class等含有子数据的指针用来取子数据。换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”.举个例子:struct Data { int a,b,c;}; \/*定义结构体*\/ struct Data *...
代惠回生: *主要有2个作用:1用于指针,如:int *p,a=20;p=&a;而*P=20; 2 便是按位与运算. & 是取地址符号,还有便是引用,如:int a=2;int p=&a;
巴马瑶族自治县13398924944: c语言中的*与&是什么意思? - ?
代惠回生: *是指针运算,&是取地址.*后面必须是指针变量,&后面则什么变量都可以(除了常数).c语言C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需...
巴马瑶族自治县13398924944: C语言函数括号中的& *分别表示什么意思? - ?
代惠回生: 函数声明/定义里, * 表示指针. C++ 语言里 &表示引用.C 语言里 没有 “引用”一说. 例如: 声明 int fun(int a, int *b); 参数 *b 是指针. 调用 fun(a, &b); &b 是实参,表示b 的地址. C++ 语言里 getelem(lintlist &l,int e,int *n) -- & 表示引用, 参数 *n 是指针.
巴马瑶族自治县13398924944: C语言中的&是什么意思 - ?
代惠回生: &代表取地址,比如声明了int a = 5;那么系统自动给a开一块内存区域,这片区域内存放数值5.具体使用是这样的: printf("%d", a);输出a的值 printf("%d", &a);输出a的地址在scanf中使用&的原因是系统必须知道你要把值写入哪个地址,所以要取变量的地址.printf("%5.2f", a);的意思是让输出的数值在屏幕上占5位,小数点后保留2位 例如 printf("%.2f", a);意思就是小数点后保留2位输出 printf("%5f", a);意思就是让输出的数值在屏幕上占5位,不理解的话楼长试试就知道了
巴马瑶族自治县13398924944: &在c语言中什么意思 - ?
代惠回生: 主要有两个意思: 1. 取地址符,用在指针表达式或输出变量地址时 例如 int a; &a就是表示变量a在内存中地址 2. 二进制位与位运算符 1&1=1 0&0=0 拓展资料:C语言主要特点: 1. C语言是高级语言.它把高级语言的基本结构和语句与低级...
巴马瑶族自治县13398924944: 在c语言中 符号" *& " 在一起去定义是什么意思? - ?
代惠回生: 呵呵,好久没碰这个了,都忘得差不多了.记忆中" *& "的意思应该是表示一个数据,相当于一个基本数据.“&”为取地址,在前面加上“*”则相当于取这个地址中的值,即相当于一个数值.例如:如果没错的话,也就相当于a与*&a是一样的,即“*”与“%”结合后相互抵消掉了.呵呵,也不知道残留在记忆中的是不是正确的,希望能给你点提示、参考吧.
巴马瑶族自治县13398924944: 数据结构中&,*的含义 - ?
代惠回生: aaaa &x 表示函数abcd()得到的是数据结构为aaaa 的x 的引用,即数据x存储位置的首地址,如果在程序中有改动,那么x的值相应改动. (&是取地址)int *y 表示, y是一个地址 (比如0x0018), *y 代表以y开头的地址处 存放的数据(比如0x0018 内存单元存入的是 5) .
巴马瑶族自治县13398924944: C语言中的符号 & 和 | 是什么意思? - ?
代惠回生: &: 在C语言中有两种意思,一种是2113取地址符,是单目运算5261符;另一种是位运算符4102,表示1653“按位与”,是双目运算符.|: 是位运算符,表示“按位或”. 资料扩展1、符号 & 和 | 这两个运算符都是二进制的按位操作符. &:...
巴马瑶族自治县13398924944: C语言里的&&是什么意思? - ?
代惠回生: 在C语言中&&符号表示与,即对前后操作数进行与操作,前后操作数都是真的时候表达式的值为真,其他情况下表达式的值为假,需要注意的是,在C语言的&&表达式中,左操作数为假的话,就不会再计算右操作数了. 补充:C语言中,数字0表示假,其他都表示真.
巴马瑶族自治县13398924944: C语言中&是什么意思?a&b怎么理解? - ?
代惠回生: &: 在C语言中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符. a&b表示啊a和b按位进行与运算. &后面是个变量.每个变量对应一块存储空间.每个存储空间有一个编号,也就是地址,&...