标签:
//格式:变量类型 *变量名
//定义了一个指针变量p
//指针变量只能存储地址
//指针就一个作用:能够根据一个地址值,访问对应的存储空间
//指针变量p前面的int;指针变量p只能指向int类型的数据
int *p;
int a = 90;
//指针变量p指向了变量a
p = &a;
*p = 10;
a = 20;
printf("%d\n", *p);
//printf("%d\n", a);
return 0;
//利用指针修改
int main()
{
int a = 90;
change(&a);
prinf ("%d\n", a);
return 0;
}
void change(int *n)//int *n = &a;
{
*n = 10;//将10赋给地址&a
}
格式: 变量类型 *变量名
定义一个指针变量p
int *p;
int a = 90;//分配存储空间给a
p里面只能存地址
p = &a;//指针变量p指向了变量a
以上三行代码在内存中
通过指针改变a 的值
*p = 10;
定义变量时的*仅仅是一个象征,没有其他特殊含义
利用指针求两个数的和与差
#include <stdio.h>
int main()
{
int a = 10;
int b = 7;
int sum;
int min;
sum = sumAndMinus(a, b, &cha);
printf ("和是%d, 差是%d\n", he, cha);
return 0;
}
int sumAndMinus(int n1, int n2, int *n3)
{
*n3 = n1 - n2;
return n1 + n2;//指针作用:使函数返回值可以有多个
}
任何指针都占用8个字节的存储空间
1 #include <stdio.h>
2
3 int main()
4 {
5 // 0000 0000 0000 0000 0000 0000 0000 0010
6 int i = 2;
7 // 0000 0001
8 char c = 1;
9
10 int *p;
11 p = &c;
12
13 printf("c的值是%d\n", *p);
14
15 return 0;
16 }
17 /*输出:
18 c的值是513
19 */
20 //使用 int *p 不是 1 而是 513
21 //原因:int *p 取值赋值时 取赋4个字节内容
22 // 而 char *p 取值赋值时 取赋一个字节内容
23 //所以 指针都为8个字节存储空间,却定义指针类型的原因是,取值赋值相对应的类型的存储空间
*p地址为(从大到小)0000 0000 0000 0000 0000 0010 0000 0001 int值为513
指针与数组:
1 #include <stdio.h>
2
3 int main()
4 {
5 int ages[5] = {10, 9, 8, 67, 56};
6 int *p;
7
8 p = &ages[0];//指针变量p指向了数组的首元素
9 //数组名就是数组的地址,也是数组首元素的地址
10 //p = ages;
11 //p + 1 的地址取决于指针p的类型 p为int p + 1 地址则增加 4
12 /*所以:
13 p + 1 -> &ages[1]
14 p + 2 -> &ages[2]
15 p + i -> &ages[i]
16 */
17 /*
18 用指针 遍历数组:
19 for (int i = 0; i<5; i++)
20 {
21 printf("ages[%d] = %d\n", i, *(p+i));
22 }
23 */
24 return 0;
25 }
#include <stdio.h>
void change(int array[]);
int main()
{
int ages[5] = {10, 11, 19, 78, 67};
change(&ages[2]);
return 0;
}
void change(int *array)
{
printf("%d\n", array[2]);
}
//输出结果: 67
指针与字符串:
定义字符串的两种方式 1》利用数组
char *name = "it";//字符串里面的字符是可以修改的
2》利用指针
char *name = "it";//字符串其实是常量字符串,字符不能改
适用场合: 不需要修改且经常用到
1,常量区
2, 堆
对象
3, 栈
存放局部变量
使用char name[] = "it";为字符创变量
char *name = "it";为字符串常量//不能改变值
标签:
原文地址:http://www.cnblogs.com/IDRI/p/4926267.html