[非凡程序员]指针学习初步心得

  1. 指针变量:

    int  a=5,i=10;

    int* b=&i;//指针 b指向i的地址

        b=&a;//指针 b指向 a 的地址

        *b=a;//指针 b 的内容是 a,即把地址 a的内容5赋值给指针变量

         *b=20;//20赋值给指针变量b

         总结起来:* b表示指针变量 b的值,即内容;b表示指针变量的地址

2.指针与数组:

          int i,*pa,a[]={3,8,9,6,6,6};

          pa=a; //直接把数组名a赋值给指针pa

          pa++;//指针pa值被修改,指向下一个地址

3.指针与字符串:

         char *s="hello,world!";//定义字符串

         char s[ ]="hello,world!";//数组形式定义字符串

或者:

        char *s;

        s="hello,world!"//其它定义字符串的方式

4.指针与函数:

         函数作为一段程序,在内存中也要占据部分存储空间,

         它也有一个起始地址,即函数的入口地址。函数有自己

         的地址,那就好办了,我们的指针变量就是用来存储地

         址的。因此,可以利用一个指针指向一个函数。其中,

         函数名就代表着函数的地址。

         定义的一般形式:函数的返回值类型 (*指针变量名)(形参1,

         形参2, ...)

5.指针与字符串数组:

         char *a[ ]={"hello""world""I""love""you"};//定义一个字符串数组

 6.笔记:

         输出时,%s输出字符串形式;%p输出内存地址,%p打印出的地址

         自动在地址前面加0x前缀,表示以十六进制打印

7.oc第一个程序:

        在终端运行oc程序,touch(新建)一个.m(文件后缀)的文件,用命令

        cc ocname.c -framework foundation执行

你可能感兴趣的:(非凡程序员)