ios学习第一天(五)数组和指针

这里数组和指针都是C语言的内容,但是OC是在C的基础上又添加了一些语法,这里就简单的介绍一下。

和java不一样这里的数组不是对象,因此不能获取一个数组的长度,这里的数组,仅仅是内存中紧密排列的同类型数据。

指针,里面存放的是内存地址,通过这个内存地址可以找到其指向的值。

在这里再介绍两个运算符“*”和“&”,之前这两个符号分别代表乘和按位与,当这两个符号位置变化的时候,意思就不一样了

int *a;//这里表示int型指针,*表示指针

int b=3;

a=&b;//这里&代表取b的内存地址,&取地址符

int c=*a;//这里*代表取a所指向内存的数据,*取内容符

java语言中没有这样的概念,做java开发的注意了,这里很重要,多查一些资料,好好掌握一下

在代码中,注释写的很清楚,直接看注释吧。

//
//  main.m
//  HelloWorld
//
//  Created by Moluth on 17/4/5.
//  Copyright (c) 2017年 Moluth. All rights reserved.
//

//头文件。里面包含了好多东西,可以算是一个基本框架吧
#import <Foundation/Foundation.h>

//main函数,程序入口 argc 参数个数,argv 所有参数字符串类型
int main(int argc, const char * argv[]) {
    //从名字上来看,这个代码块应该可以自动释放内存
    @autoreleasepool {
        //数组
        int a[10],b[]={1,2,3,4,5};
        for(int i=0;i<5;i++){
            NSLog(@"%d\n",b[i]);
        }
        //输出1,2,3,4,5
        
        for(int i=0;i<10;i++){
            a[i]=i*2;
        }
        
        for(int i=0;i<10;i++){
            NSLog(@"%d\n",a[i]);
        }
        //输出0,2,4,6...16,18
        
        //指针,指针存放的是内存地址
        int c=3;
        int *pa=&c;// &c &代表取地址符号 * 代表是指针类型
        NSLog(@"\n%d",*pa);//输出3
        
        //指针与数组关系
        pa=a;
        for(int i=0;i<10;i++,pa++){
            NSLog(@"%d\n",*pa);//   *pa代表去pa所指向的内存中取值 *在这里是取内容符
        }
        //输出0,2,4,6...16,18
        for(int i=0;i<10;i++){
            NSLog(@"%d\n",*(pa+i));
        }
        //输出0,2,4,6...16,18
    }
    
    return 0;//返回值
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值