#include <stdlib.h>
typedef struct LNode{
int number;
int password;
struct LNode * next;
}LNode, *Linklist;
void swap1(int a, int b)
{
int temp;
temp = a;
a = b;
b = temp;
}
void swap2(int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
void swap3(int &a, int &b)
{
int temp;
temp = a;
a = b;
b = temp;
}
int main()
{
int i, j;
int *s;
s = (int *)malloc(sizeof(int));
*s = 5;
free(s);
s = new int;
*s = 5;
delete s;
int *p;
p = new int[10];//p = (int *)malloc(10*sizeof(int));
p[0] = 0;
*(p+1) = 1;
*(p+9) = 9;
delete [] p; //free(p);
char **A;
A = (char **)malloc(10*sizeof(char *)); //A = new char *[10];
for(i=0;i<10;i++)
A[i] = (char *)malloc(10*sizeof(char)); //A[i] = new char[10];
i = sizeof(char *);
A[0][0] = 'a'; //**A = 'a';
*(*A+1) = 'b'; //A[0][1] = 'b';
*(*(A+1)) = 'c'; //A[1][0] = 'c';
*(*(A+1)+1) = 'd'; //A[1][1] = 'd';
for(i=0;i<10;i++)
free(A[i]); //delete [] A[i];
free(A); //delete [] A;
//A[0][0] = 'a';
char ***B;
B = (char ***)malloc(10*sizeof(char **)); //B = new char **[10];
for(i=0;i<10;i++){
B[i] = (char **)malloc(10*sizeof(char *)); //B[i] = new char *[10];
for(j=0;j<10;j++)
B[i][j] = (char *)malloc(10*sizeof(char)); //B[i][j] = new char[10];
}
B[0][0][0] = 'a'; // ***B = 'a';
*((**B)+1) = 'b'; // B[0][0][1] = 'b';
*(*(*(B+1)+1)+1) = 'c'; // B[1][1][1] = 'c';
for(i=0;i<10;i++){
for(j=0;j<10;j++)
free(B[i][j]); //delete [] B[i][j];
free(B[i]); //delete [] B[i];
}
free(B); //delete [] B;
/*
typedef struct LNode{
int number;
int password;
struct LNode * next;
}LNode, *Linklist;
*/
Linklist H;
H = (Linklist)malloc(sizeof(LNode));
//H = new LNode;
H->number = 1;
(*H).password = 2;//H->password = 2;
H->next = NULL;
free(H); //delete H;
H = new LNode[10];
i = sizeof(LNode);
j = sizeof(Linklist);
H->number = 1;
H[1].number = 2;
(H+2)->number = 3;
(*(H+3)).number = 4;
delete [] H;
int a, b;
a = 1;
b = 2;
swap1(a, b); //void swap1(int a, int b)
swap2(&a, &b); //void swap2(int *a, int *b)
swap3(a, b); //void swap3(int &a, int &b)
}
Pointer详解
最新推荐文章于 2022-12-07 10:34:23 发布