add c_pointer_sample for wechat group

This commit is contained in:
xw_y_am 2022-01-23 23:01:01 +08:00
parent 476671741b
commit 394d08a36e

View File

@ -0,0 +1,119 @@
#include <stdio.h>
#include <stdlib.h>
#define MAX_STUDENTS_NUM 100
typedef struct {
char name[21];
int age;
char addr[101];
} student_t;
typedef struct {
student_t stu[MAX_STUDENTS_NUM];
int index;
} studentList_t;
int initList_example(studentList_t **students)
{
studentList_t *newList = (studentList_t *)malloc(sizeof (studentList_t));
if (newList == NULL) {
return -1;
}
memset(newList, 0, sizeof (studentList_t));
*students = newList;
return 0;
}
void initList_proc_example()
{
studentList_t *students;
if (initList_example(&students)) {
printf("init error!\n");
return;
}
printf("init ok.\n");
}
void initList_suggestion1(studentList_t *students)
{
students->index = 0;
memset(students->stu, 0, sizeof (student_t) * MAX_STUDENTS_NUM);
}
void initList_proc_suggestion1()
{
studentList_t students;
initList_suggestion1(&students);
}
studentList_t *initList_suggestion2()
{
studentList_t *newList = (studentList_t *)malloc(sizeof (studentList_t));
if (newList == NULL) {
return NULL;
}
memset(newList, 0, sizeof (studentList_t));
return newList;
}
void initList_proc_suggestion2()
{
studentList_t *students = initList_suggestion2();
if (students == NULL) {
printf("init error!\n");
return;
}
printf("init ok.\n");
}
typedef struct _studentLink_t {
struct _studentLink_t *next;
student_t info;
} studentLink_t;
int initLink_example(studentLink_t **node)
{
studentLink_t *newNode = (studentLink_t *)malloc(sizeof (studentLink_t));
if (newNode == NULL) {
return -1;
}
newNode->next = NULL;
*node = newNode;
return 0;
}
void initLink_proc_example()
{
studentLink_t *link;
if (initLink_example(&link)) {
printf("init error!\n");
return;
}
printf("init ok.\n");
}
studentLink_t *initLink_suggestion()
{
studentLink_t *newNode = (studentLink_t *)malloc(sizeof (studentLink_t));
if (newNode == NULL) {
return NULL;
}
newNode->next = NULL;
return newNode;
}
void initLink_proc_suggestion()
{
studentLink_t *studentsLink = initLink_suggestion();
if (studentsLink == NULL) {
printf("init error!\n");
return;
}
printf("init ok.\n");
}