C和指针 学习笔记-2.指针

什么是指针


变量的值存储于计算机的内存中,每一个变量都有一个特定的位置,
每一个内存位置都有由一个唯一的地址并引用.,就像一条街道上房子由它们的门牌号码来标识一样。
指针只是地址的一个名字,指针变量是一个其值为另一个(一些)内存地址的变量


指针与字符串常量


当字符串常量出现在一个表达式中时,表达式所使用的值是这些字各符所存储的地址,而不是这些字符本身
把字符串常量赋值给“指向字符的指针",后者指向这些字符串所存储的地址


指针定义

int *p

 p是一个普通的指向整形的指针

int const *p

 一个指向整形常量的指针,你可以改变指针的值,但你不能修改它所指 向的值

int * const p;

 一个指向整形的指针常量,此时指针是常量,它的值无法修改,但你可 以修改它指向的整形的值

int const * const p

  无论指针本身还是它所指向的值是常量,不能修改

NULL

它是一个特殊的指针变量,表示某个特定的指针目前未指向任何东西

#include <stdio.h>
#include <stdlib.h> 
void main(){
	int a =20;
	int *p1;
	int *p2;
	p1=NULL;
	p2=&a;
	if(p2!=NULL){
		printf("a=%d",*p2); //结果 20
	}
}


指针的指针


#include <stdio.h>
void main(){
	int a=100;
	int *b ;
	int **c;
	b=&a;
	c=&b;

	printf("%d",**c); //100
	printf("%d",*b);//100
}

内存模型



访问符





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值