C言語ポインタの応用
一、指針説明
ポインタは実際には4バイトのアドレスなので、整数変数に渡すことができます.
二、ポインタがパラメータとして関数に渡される例
ポインタは実際には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
", 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
", 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