C语言指针的应用

一、指针说明


指针实际上是4字节的地址,所以,可以将其传递给整型变量


二、指针作为参数传递给函数的例子

#include <stdio.h>
#include <string.h>
 
typedef struct _ZJ_ANIMAL_
{
	char name[32];
	int age;
 
}T_ANIMAL, *PT_ANIMAL;
 
static T_ANIMAL s_animal;  
 
/*************************************
 * 函数名称: print_animal                       
 * 功能描述: 将传递给函数的值,强制转换为PT_ANIMAL类型,并打印相应的值                        
 * 输入参数: iTmp:指针的值                        
 * 输出参数:                        
 * 返回值:                          
 * 其它说明:                        
 * 修改日期: add by lzj 2013.12.30                        
 *************************************/
void print_animal(int iTmp)
{
	PT_ANIMAL pAnimal = (PT_ANIMAL)iTmp;
	printf("[print_animal] pAnimal->age = %d, pAnimal->name = %s\n", pAnimal->age, pAnimal->name);
	return;
}
 
int main(void)
{
    memset(&s_animal, 0, sizeof(T_ANIMAL));
    s_animal.age = 10;
    snprintf(s_animal.name ,sizeof(s_animal.name),"dog" );
    printf("[main] s_animal.age = %d, s_animal.name = %s \n", s_animal.age, s_animal.name);
    print_animal((int)&s_animal);  //传递指针的值给函数
    return 0;
}
 
结果:
[root@f8s trans_hand]# ./trans_hand                  
[main] s_animal.age = 10, s_animal.name = dog 
[print_animal] pAnimal->age = 10, pAnimal->name = dog


你可能感兴趣的:(c,指针)