这个c语言指针为什么不能转换啊,求解释。

问题描述

这个c语言指针为什么不能转换啊,求解释。

#include
#include
typedef int QElemType;
typedef int Status;
typedef struct QNode {
QElemType data;
struct Qnode next;
}QNode,*QueuePtr;
typedef struct {
QueuePtr front;
QueuePtr rear;
}LinkQueue;
Status InitQueue(LinkQueue *Q)
{
Q->front=Q->rear=(QueuePtr)malloc(sizeof(QNode));
if(!Q->front)exit(0);
Q->front=NULL;
return 1;
}
Status EnQueue(LinkQueue *Q,QElemType e)
{
QueuePtr p;
p=(QueuePtr)malloc(sizeof(QNode));
p->data=e;
p->next=NULL;
Q->rear->next=p;/
这个为什么报错?--------------------*/
Q->rear=p;
return 1;
}

解决方案

一个是LinkQueue类型,一个是QueuePtr类型,两个类型直接转换肯定不行啊

解决方案二:

c语言指针的强制转换

时间: 2024-10-31 18:55:36

这个c语言指针为什么不能转换啊,求解释。的相关文章

c语言指针指向地址的问题 求大神详细解答

问题描述 c语言指针指向地址的问题 求大神详细解答 #include int main(int argc char const *argv[]){ int b=0x12345678;char *p4=(char *)&b;printf(""p=0x%hhxn""*p4 );printf(""p=0x%hhxn""*(p4+1) );char *p7=""helloworld"";

c语言-关于C语言结构体指针类型的强制转换(求大神详细解答)

问题描述 关于C语言结构体指针类型的强制转换(求大神详细解答) #include <iostream> #include <algorithm> using namespace std; typedef struct { string dna; int count; }DNA; DNA dna[101]; **int cmp(const void *a,const void *b) { DNA *aa = (DNA *)a; DNA *bb = (DNA *)b; return a

c语言-c中不同类型指针之间的转换

问题描述 c中不同类型指针之间的转换 不同类型的指针为什么可以装换,例如: void * a; char c=a; a=(void * ) &c; 指针不就是一个地址在里面么,有什么好转换的? 解决方案 指针的本质是都一样的,转换类型是让编译器知道怎么看所指向的内容. 解决方案二: 只有转换了才能通过编译 不同的指针 ++ --等结果也不同 sizeof也不同 解决方案三: 不同类型之间的转换C 不同类型指针的相互转化不同数字类型之间的转换---------------------- 解决方案四

Swift与C语言指针结合使用实例

  这篇文章主要介绍了Swift与C语言指针结合使用实例,本文讲解了用以输入/输出的参数指针.作为数组使用的参数指针.用作字符串参数的指针.指针参数转换的安全性等内容,需要的朋友可以参考下 Objective-C和C的API常常会需要用到指针.Swift中的数据类型都原生支持基于指针的Cocoa API,不仅如此,Swift会自动处理部分最常用的将指针作为参数传递的情况.这篇文章中,我们将着眼于在Swift中让C语言指针与变量.数组和字符串共同工作. ####用以输入/输出的参数指针 C和Obj

C语言指针转换为intptr_t类型

1.前言 今天在看代码时,发现将之一个指针赋值给一个intptr_t类型的变量.由于之前没有见过intptr_t这样数据类型,凭感觉认为intptr_t是int类型的指针.感觉很奇怪,为何要将一个指针这样做呢?如是果断上网查查,发现我的感觉是错误的,所以,任何事情不能凭感觉,要弄清楚来龙去脉.先总结一下intptr_t类型,然后介绍指针与intptr_t类型的转换,最后给出测试程序. 2.intptr_t类型 我接触最早的处理器是32位,目前64位处理器发展迅速.数据类型特别是int相关的类型在

C语言指针入门学习面面观_C 语言

这似乎是一个很凝重的话题,但是它真的很有趣. 1. 指针是指向某一类型的东西,任何一个整体,只要能称为整体就能拥有它自己的独一无二的指针类型,所以指针的类型其实是近似无穷无尽的 2. 函数名在表达式中总是以函数指针的身份呈现,除了取地址运算符以及sizeof 3. C语言最晦涩难明的就是它复杂的声明: void (*signal(int sig, void (*func)(int)))(int),试试着把它改写成容易理解的形式 4. 对于指针,尽最大的限度使用const保护它,无论是传递给函数,

c语言-C语言指针相关问题,不能理解输出结果

问题描述 C语言指针相关问题,不能理解输出结果 #include<stdio.h> typedef unsigned char * char_point; char_point int_cp(int i) { printf("i: %dn", i); printf("&i: %pn", &i); printf("(c_p)&i: %pn", (char_point) &i); char_point cp

Swift与C语言指针结合使用实例_Swift

Objective-C和C的API常常会需要用到指针.Swift中的数据类型都原生支持基于指针的Cocoa API,不仅如此,Swift会自动处理部分最常用的将指针作为参数传递的情况.这篇文章中,我们将着眼于在Swift中让C语言指针与变量.数组和字符串共同工作.####用以输入/输出的参数指针 C和Objective-C并不支持多返回值,所以Cocoa API中常常将指针作为一种在方法间传递额外数据的方式.Swift允许指针被当作inout参数使用,所以你可以用符号&将对一个变量的引用作为指针

IOS开发之路--C语言指针_IOS

概览 指针是C语言的精髓,但是很多初学者往往对于指针的概念并不深刻,以至于学完之后随着时间的推移越来越模糊,感觉指针难以掌握,本文通过简单的例子试图将指针解释清楚,今天的重点有几个方面: 什么是指针 数组和指针 函数指针 什么是指针 存放变量地址的变量我们称之为"指针变量",简单的说变量p中存储的是变量a的地址,那么p就可以称为是指针变量,或者说p指向a.当我们访问a变量的时候其实是程序先根据a取得a对应的地址,再到这个地址对应的存储空间中拿到a的值,这种方式我们称之为"直接