Tag: 类型

结构类型转换

我有一个 structure { int a; char b; } st; 有没有办法对结构成员st.a进行类型转换? 因为在很少的地方我想把它当作int而在少数几个地方我想要它作为Char*

在C中识别内存中值的数据类型?

程序/应用程序如何知道内存地址中的数据是某种数据类型。 例如,假设有一个int a; 并假设变量a存储在地址0x100 。 存储的信息在哪里说它是int类型?

预期’struct matrix_t *’但参数的类型为’struct matrix_t *’?_? 没有不同

main.c:78:25: erreur: assignment from incompatible pointer type [-Werror] main.c:81:9: erreur: passing argument 2 of ‘matrix_multiply’ from incompatible pointer type [-Werror] main.c:6:11: note: expected ‘struct matrix_t *’ but argument is of type ‘struct matrix_t *’ 第6行是matrix_multiply函数 这是我的代码,从第74行开始 matrix_t *m; matrix_t *first = matrix_reader_next(reader); matrix_t *previous = first; while ( (m = matrix_reader_next(reader))) { previous->next = m; […]

为什么printf将8位字符填充到32位?

char byte = 0xff; printf(“%lu\n”, sizeof(byte)) // Output is ‘1’ printf(“%x\n”, byte); // Output is ‘ffffffff’ 如果byte的大小只有一个字节,那么为什么printf()行为就像四个字节一样?

如何在类型A中定义类型B中的类型A和类型B中的类型B?

我有两种类型。 一个类型A和一个类型B.问题类型A包含类型B,类型B包含类型A.这样的事情将不起作用: type typeA = record test1 : typeB; end; type typeB = record test2 : typeA; end; 编辑:那不是我的设计。 我将包含此类构造的C头文件(访问DLL)转换为delphi。 编辑2: “C ++结构是类AFAIR的另一个名称。并且必须有指针,而不是值本身。 – Arioch’1分钟之前”是的你是对的,它是一个类型的指针: 我在那里定义: test1 : ^typeB; 这会改变吗? test1 : Pointer; Edit3: C结构: /* DLPDFPAGE */ typedef struct dlpdfpage { CosObj Page; CosObj PrintSelect; ASFixedRect PageBBox; ASFixedRect ContentBBox; struct dlpdfpage *Next; PDRotate Angle; […]

将fpos_t强制转换为int或char

我正在使用一个函数,该函数使用按位操作和文件的长度: fpos_t flen; 当我尝试将其转换为int或char,或尝试对其进行算术运算时,它失败并出现以下编译错误: error: aggregate value used where an integer was expected

C const的默认类型是什么?

我正在写一些C代码,并注意到我认为是一个错误,但事实并非如此。 我有以下类型声明声明。 const fee; 然而,它最初没有被删除,因为编译器和我没有抓住它。 所以我很好奇为什么C允许这个以及什么是默认类型。

Clang编译器的C enum的数据类型是什么?

我发布了其他问题: 我应该使用什么类型的C enum的二进制表示? ,通过答案,我必须知道我的编译器的枚举数据类型。 Clang编译器上C enum的数据类型是什么?

何时使用OpenCL API标量数据类型?

我一直无法理解何时使用cl_float,cl_uchar等OpenCL API数据类型,可在此处找到: http://www.khronos.org/registry/cl/sdk/1.0/docs/man/xhtml/scalarDataTypes.html 我看到的涉及将缓冲区复制到设备的示例如下所示: float data[DATA_SIZE]; // original data set given to device //Create the input and output arrays in device memory for our calculation input = clCreateBuffer(context, CL_MEM_READ_ONLY, sizeof(float) * count, NULL, // Write our data set into the input array in device memory err = clEnqueueWriteBuffer(commands, input, CL_TRUE, 0, sizeof(float) * count, data, […]

无符号整数如何工作

正如标题所暗示的那样,我很好奇一个unsigned int (或类似NSUInteger , u_int_blah ,但我认为这些都是同一个东西的typedef )的工作原理。 例如,当它们的值低于零时,是否提出了一个例外? 会发生错误吗? 其中一个具体示例是将值间接设置为负数。 for (unsigned int x = 5; x > -10; x–) { // will x ever reach below zero, or will the loop terminate } 另外,间接设置它的另一种方法是让用户输入它。 printf(“Enter a number”); unsigned int x; scanf(“%ud”, &x); // user enters something like -29 所以,我有三个问题。 什么停止和unsigned int被分配给负数( unsigned int x […]