typedef struct 结构体问题
大家好,
有个问题请教大家:如一个结构体
typedef struct test
{
int i;
char buff[256];
} Test,*test;
1. Test 是这个结构体的别名,我清楚,但是*test代表什么啊,我不太清楚,是指针吗
2. *test怎么理解
谢谢!
[解决办法]
test是指向一个test结构体类型的指针。
[解决办法]
指的是,test是指针类型,给你一个示例代码:
#include <iostream>using namespace std;typedef struct {} Test, *PtrTest;int main() { Test t; PtrTest pt = &t; //PtrTest ppt = t; 这行是无法通过编译的 return 0;}
[解决办法]
typedef struct _Test
{
int i;
char buff[256];
} Test,*test
这样我觉得好一点
[解决办法]
如楼上所言,和
typedef int *p;
p a;
a表示指向int的指针
[解决办法]
这就等于 struct test 看作一个类型 如int
Test *test 就等于别名 Test a test b 类似于 int a int *b
[解决办法]
test相当于Test*类型,是指针类型,给你举个例子就很清楚了:
#include <string.h>#include <stdlib.h>#include <stdio.h>typedef struct test { int i; char buff[256];}Test, *test;int main(int arg, char* argv[]){ test tt = (Test*)malloc(sizeof(Test)); tt->i = 3; strcpy(tt->buff, "Hello World!"); printf("%s\n", tt->buff); return 0;}
[解决办法]