1、指针与结构体
源码:
// csdn_struct.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <string.h>
struct Person
{
char szName[12];
int nAge;
//int bSex;
};
int _tmain(int argc, _TCHAR* argv[])
{
Person per;
Person *pPer = &per;
strcpy(per.szName, "jim");
//strcpy(pPer->szName, "jim");
printf("%s\n", pPer->szName);
printf("%s\n", per.szName);
pPer->nAge = 21;
printf("%d\n", per.nAge);
per.nAge = 22;
printf("%d\n", pPer->nAge);
return 0;
}
运行结果:
2、指针与函数:
// csdn_fun.cpp : 定义控制台应用程序的入口点。
// 函数的指针
//
#include "stdafx.h"
int add(int a, int b);
int _tmain(int argc, _TCHAR* argv[])
{
// 定义函数的指针
//int add(int a, int b) *p;
//int ()(int a, int b)
int (*p) (int a, int b);
//int (*p) (int, int);
p = add;
int c = p(1, 2);
printf("%d\n", c);
// 给函数取别名
typedef int (*fun)(int, int);
fun p1;
p1 = add;
c = p(4, 2);
printf("%d\n", c);
return 0;
}
int add(int a, int b)
{
return a + b;
}
运行结果: