结合具体的实例来分析的哈,,
看如下例程的:
#include <stdio.h>
// 重定义数据类型
typedef signed int INT32;
typedef unsigned int UINT32;
typedef unsigned char UINT8;
// 结构体定义
typedef struct
{
UINT32 iAge; // 年龄
UINT8 szAddr1[100]; // 地址1
UINT8 *pszAddr2; // 地址2
UINT8 **pszAddr3; // 地址3
} T_PeopleInfo;
INT32 main(void)
{
T_PeopleInfo tPeopleInfo = {0};
// 结构体变量赋值
// 对iAge赋值
tPeopleInfo.iAge = 10;
// 对szAddr1赋值
strncpy(tPeopleInfo.szAddr1, "Chongqing, China!", strlen("Chongqing, China!"));
// 对pszAddr2赋值
strncpy(tPeopleInfo.pszAddr2, "Chengdu, China!", strlen("Chengdu, China!"));
// 对pszAddr3赋值
strncpy(tPeopleInfo.pszAddr3, "Wuhan, China!", strlen("Wuhan, China!"));
// 打印变量的值
printf("Age=%d, Addr1=%s, Addr2=%s, Addr3=%s", tPeopleInfo.iAge, tPeopleInfo.szAddr1, tPeopleInfo.pszAddr2, tPeopleInfo.pszAddr3);
return 0;
}
|