数据结构C语言问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构C语言问题相关的知识,希望对你有一定的参考价值。
插入元素
int ListInsert(lnode *L, int i, ElemType x)
intj=1;
lnode *p=L, *s;
.....
我想请教下L不是代表地址? 怎么能赋给指针P所指的元素?
上面的就是数据结构线性表的其中一个例题
完整的就是
int ListInsert (lnode * L, int i, ElemType x)
int j=1;
lnode *p=L; *s;
s=(lnode *)malloc(sizeof(lnode));
s->data=x;
s->next=NULL;
if(i<1||i>Length(L)+1)
return 0;
while(j<1)
p=p->next ;
j++ ;
s->next=p->next ;
p->next=s ;
return 1;
应该指的是一个指向Inode类型的指针,并不是p所指的元素。
如果是p所指的元素应该写成“*p”,没有“Inode”。
这样p和L是同类型的指针,当然可以赋值了。
这里的“lnode *p=L;”是在定义变量的同时对变量进行初始化。
相当于“Inode *p;
p=L;”
这两行命令。 参考技术A L是代表地址,
你可以用P=L或者*P=*L. 参考技术B 同类型指针之间可以赋值
相当于L和p指向同一地址
实际上指向哪个地址的变量内容并没有多拷贝一份
就相当于你拿着一所房子的钥匙,然后你把钥匙配了一把给了另一个人。
C语言中的结构体定义问题
struct person
unsigned age:1;
unsigned sex:2;
unsigned id: 10;
;
请问这种定义方法中各个属性冒号后面的数字表示什么意思?
typedef struct _XXX
unsigned char a:4;
unsigned char c;
; 参考技术A 场宽。指明该字段所占比特数。 参考技术B 默认值 相当于 =
以上是关于数据结构C语言问题的主要内容,如果未能解决你的问题,请参考以下文章