指针的用法:
#include <stdio.h>
#include <stdlib.h>
void hello(){
printf("Hello C\n");
}
typedef void(*SimpleFunc)();
int main(int argc, const char * argv[]) {
int a = 10;
int *pa = &a;
printf("%d\n",*pa);
int32_t *intP =malloc(4);
//*intP = 100;
intP[0] = 101;
printf("%d\n",*intP);
free(intP);
int len = 10;
int32_t * b = malloc(len*sizeof(int32_t));
b[0] = 104;
b[1] = 106;
printf("%d\n",*(b+1));
printf("%d\n",b[0]);
free(b);
//8个字节存储数据
int * str ;
printf("%ld\n",sizeof(str));//64位长度下是8个字节,32位长度下是4个字节。
char * str1 = "Hello";
printf("%ld\n",sizeof(str1));
char *str2 = "World";
int64_t c = (int64_t)str2;//JNI(Java Native Interface) long类型
char *str3 = (char*)c;
printf("%s\n",str3);
//访问函数的3中方法
hello();
//typedef函数指针
SimpleFunc fp = &hello;
fp();
//函数指针
void(*point)() = &hello;
point();
//无类型指针
void *data = "Hello Sun";
printf("%s\n",data);
void * mydata = malloc(8);
int*intdata = mydata;
intdata[0]=10000;
printf("%d\n",intdata[0]);
free(mydata);
return 0;
}