#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
#if 0 //条件编译1
int *p; //定义一个指针
printf("%p\n", p);
*p = 1; //不合法 不能直接使用
int a = 1;
int *q;
q = &a; //给指针赋值
int *pa;
pa = q; //给pa赋值q
#endif
char *fp;
fp = (char *)malloc(sizeof(char) * 20);
//向操作系统申请空间 连续的空间 堆空间
if (NULL == fp)
{
printf("malloc falure!\n");
}
strcpy(fp, "helloworld");
printf("%s\n", fp);
free(fp); //malloc申请的空间不用后释放空间
return 0;
}
#include <stdio.h>
int main()
{
int i;
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //数组名a 常指针
int *p = a; //指针p指向数组的第一个元素
for (i = 0; i < 10; i++)
{
//printf("%d ", a[i]); //下标法
//printf("%d ", *(a + i)); //指针法
printf("%d ", *(p + i));