c语言之使用typedef定义类型

2020-08-26 09:52:06 浏览数 (2)

可以用typedef声明新的类型名来代替已有的类型名。

实例1:

代码语言:javascript复制
#include<stdio.h>
#include<iostream>
typedef struct {
    char* name;
    int age;
}STUDENT;

int main()
{
    STUDENT stu;
    stu.name = "tom";
    stu.age = 12;
    printf("name=%s,age=%dn", stu.name, stu.age);
    system("pause");
    return 0;
}

实例2:

代码语言:javascript复制
#include<stdio.h>
#include<iostream>
typedef int NUM[100];

int main()
{
    NUM num = {0};
    printf("%dn", sizeof(num));
    system("pause");
    return 0;
}

输出:

正好是400个字节 ,因为一个整型占4个字节,共100个元素。

实例3:

代码语言:javascript复制
#include<stdio.h>
#include<iostream>
typedef char* STRING;

int main()
{
    STRING str = "hello";
    printf("%sn", str);
    system("pause");
    return 0;
}

输出:

我们就可以自己定义string类型了。

实例4:

代码语言:javascript复制
#include<stdio.h>
#include<iostream>
typedef int (*POINTER)(int,int);

int add(int a, int b) {
    return a   b;
}
int main()
{
    int add(int, int);
    POINTER  p;
    p = add;
    int res = p(2, 3);
    printf("%dn", res);
    system("pause");
    return 0;
}

输出:

这样我们也可以定义函数指针。

0 人点赞