数据结构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;

这里的“lnode *p=L;”中“p”
应该指的是一个指向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;
;

请问这种定义方法中各个属性冒号后面的数字表示什么意思?

(1)表示机构内位域的定义(即该变量占几个bit空间)

typedef struct _XXX

unsigned char a:4;

unsigned char c;

;
参考技术A 场宽。指明该字段所占比特数。 参考技术B 默认值 相当于 =

以上是关于数据结构C语言问题的主要内容,如果未能解决你的问题,请参考以下文章

C语言结构体大小问题求助。

C语言fwrite 结构体换行问题(初学C语言)

大一C语言问题,有关结构体。。。

C语言结构体存储问题

c语言结构体问题

C语言中结构体数组名作为函数参数的问题