首页 > 其他分享 >typeof

typeof

时间:2024-04-04 09:23:32浏览次数:9  
标签:apple weight color create int typeof

typeof 是 C 语言的一个扩展,用于获取表达式的类型。它的主要用途包括:

1、声明变量类型:

可以用 typeof 来声明变量,而无需显式指定变量的类型。这样可以使代码更加简洁和易读,特别是在处理复杂的表达式时。

2、简化类型名称:

在定义结构体、联合体等复杂类型时,使用 typeof 可以简化类型名称的书写,提高代码的可维护性和可读性。

3、简化宏定义:

在宏定义中,typeof 可以帮助获取宏参数的类型,从而使宏更加通用和灵活。   typeof的举例demo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct apple {
    int weight;
    int color;
};

struct apple *create_apple(int weight, int color) {
    struct apple *a = malloc(sizeof(struct apple));
    if (a == NULL) {
        printf("Memory allocation error.\n");
        return NULL;
    }

    a->weight = weight;
    a->color = color;

    return a;
}

int main() {
    typeof(create_apple(0, 0)) a1 = create_apple(150, 1);
    typeof(create_apple(0, 0)) a2 = create_apple(120, 2);

    printf("Apple 1 - Weight: %d, Color: %d\n", a1->weight, a1->color);
    printf("Apple 2 - Weight: %d, Color: %d\n", a2->weight, a2->color);

    free(a1);
    free(a2);

    return 0;
}
  执行结果如下: 0          

标签:apple,weight,color,create,int,typeof
From: https://www.cnblogs.com/lethe1203/p/18113913

相关文章

  • TavaScript中的typeof
    在JavaScript中,typeof是一个运算符,用于获取一个值的类型。它返回一个字符串,表示值的数据类型。typeof主要用于检测基本数据类型,如number、string、boolean、undefined、object、function和es6新增symbol类型。letx=10;console.log(typeofx);//输出:"number"lety......
  • instanceof和typeof的区别
    instanceof和typeof的区别1.typeof:可以用来确定一个变量的数据类型   2.instanceof:可以用来确定一个引用类型值的是什么类型的对象     typeof用以获取一个变量的类型,typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined。我们可以使用t......
  • OpenHarmony—仅允许在表达式中使用typeof运算符
    规则:arkts-no-type-query级别:错误ArkTS仅支持在表达式中使用typeof运算符,不允许使用typeof作为类型。TypeScriptletn1=42;lets1='foo';console.log(typeofn1);//'number'console.log(typeofs1);//'string'letn2:typeofn1lets2:typeofs1ArkTS......
  • js typeof
    typeof操作符最适合用来判断一个变量是否为原始类型。更确切地说,它是判断一个变量是否为字符串、数值、布尔值或undefined的最好方式。lets="Nicholas";letb=true;leti=22;letu;letn=null;leto=newObject();console.log(typeof......
  • 1835_GCC中C语言typeof的使用
    Grey全部学习内容汇总:GitHub-GreyZhang/c_basic:littlebitsofc.1835_GCC中C语言typeof的使用typeof是C语言中对数据类型的一种引用方法,目前看到的信息来看,并不是标准C中提供或者要求的内容。这个功能,其实是编译器提供的一种便捷的操作模式。而我看的资料中,这个功能在gcc中是......
  • keyof和typeof的区别,连起来用会怎么样
    keyof和typeof是TypeScript中的两个操作符,它们分别用于从类型中提取键和获取变量的类型。keyofT:用于获取类型T的所有键的联合类型。也就是说,keyofT将返回一个包含类型T中所有属性名的联合类型。typeofx:用于获取变量x的类型。它会返回变量x的类型,包括基本类......
  • typeof 主要用于检测基本数据类型,对于引用类型不大适用(因为所有引用类型的值都是 Obje
    下面哪些语句可以在JS里判断一个对象是否为String类型?AoStringObjectinstanceofStringBtypeofoStringObject=='string'CoStringObjectisStringD以上答案都不正确正确答案:AJS中值的类型分为原始值类型和对象类型。原始值类型包括number,string,boolean,nul......
  • typeof只能检测数据类型,而不能检测从数据类型中派生的其他类型,数组为object派生对象,所
    typeof[]返回值为objecttypeof只能检测数据类型,而不能检测从数据类型中派生的其他类型,数组为object派生对象,所以依然返回objecttypeof判断引用类型数据,除了function以外都会判断成为objectfunctionfn(){console.log(1);}conso......
  • typeof,instanceof
    typeof是用来判断数据类型的,包括以下7种:number、boolean、symbol、string、object、undefined、functioninstanceof检查左侧的对象是否是右侧构造函数的实例它会遍历整个原型链,即使原型链很深,只要在原型链上找到了指定的构造函数的原型,就会返回true。functionA(){}consta......
  • C# default 和 typeof
    查看类型的内部结构:typeof获取类型的默认值:defaultvartemp01=typeof(decimal);//查看类型的内部结构vartemp02=default(decimal);//获取类型的默认值 (341条消息)C#运算操作符_穿越虚空的博客-CSDN博客 ......