C语言之高级指针应用二

指针高级应用

  • 指针的指针:用于存放指针变量的地址
    type **name;
  • 函数指针与指针函数
    函数指针:int *f(int x);
    指针函数: int (*p)();
    区别:函数指针本质是一个指针;指针函数本质是一个函数,返回值是一个地址。
  • 无类型指针
    定义: void *p;
    可以将任意类型的指针赋给无类型指针,但不能将无类型指针赋给其他类型指针,如若要赋值必须进行强转。
  • const限定符
    指向常量数据的指针:const int *p;
    常指针:int * const p;
    两者区别:常指针的值不可以修改,但指向的内容可修改;指向常量数据的指针,其值可以修改,但指向的内容不可修改。

指针实现结构体中数据的增删改

结构体定义

typedef struct staff
{
  char username[20];
  char password[20];
  char role[20];
  int flag;
}STAFF_T;
STAFF_T staffs[50] = {
      {"admin" ,"123456","admin"},
	  {"manage" ,"123456","manage"},
	  {"waiter" ,"123456","waiter"}
};

添加用户

void Staff_Add( STAFF_T  *people)//用户添加
{
	STAFF_T newple;
	char name[20];
	

你可能感兴趣的:(C语言之高级指针应用二)