---------------
main.m
---------------
#import
<Foundation/Foundation.h>
int
main()
{
char * p1;
int * p2;
long * p3;
NSLog ( @"%lu" , sizeof (p1));
NSLog ( @"%lu" , sizeof (p2));
NSLog ( @"%lu" , sizeof (p3));
{
char * p1;
int * p2;
long * p3;
NSLog ( @"%lu" , sizeof (p1));
NSLog ( @"%lu" , sizeof (p2));
NSLog ( @"%lu" , sizeof (p3));
int
a =
12345
;
p2 = &a;
NSLog(@"%d", *p2);
//使用指针取值
*p2 =
67890
;
//使用指针取值
NSLog
(
@"%d"
, a);
p1 = &a;
NSLog(@"%d", *p1);
//使用指针取值
*p1 =
67890
;
//使用指针取值
NSLog
(
@"%d"
, a);
}
一、编写本节代码的具体步骤:
1.参照003节的代码编写步骤。
二、本节代码涉及到的知识点:
1.任何类型的指针都占用8个字节的存储空间。
2.那为什么指针还要分类型?
指针的类型的作用,主要体现在我们通过指针来存取数据的时候。
3.如果p1是char类型,那么
当我们通过p1取值的时候,系统会在内存中提取1个字节的数据给我们。
当我们通过p1取值的时候,系统会把1个字节的数据存到内存中。
如果我们用p1来存取一个int类型的变量,就会造成存取错误。
4.sizeof的返回值是 unsign long ,所以格式符要使用 %lu。