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;
}



运行结果:

指针与结构体、函数指针_c_02