C语言:指针的几种形式

字符串的两种形式:

1、字符数组

char name[32] = “zhangsan”;//只能在初始化时这样做

strcpy(name,”lisi”);//整体赋值只能通过strcpy

name = “lisi”;//error,将一个常量字符串的地址(“lisi")赋值给常量指针(char* const name)

2、字符指针

char *name = “zhangsan”;//指针变量name指向了常量字符串的开始地址

char* name;//在使用野指针(未初始化的指针)

scanf(“%s”,name);//error,

strcpy(name,”lisi”);//error,如果name指向了常量的字符串,会崩掉。

如果name没有初始化,程序有可能会崩掉,也有可能会覆盖内存中的数据。

name = “lisi”;//ok,重新修改指针变量name的指向,即指向一个新的字符串地址。

1、const int* p和int const* p:两者意义是相同的。指向的内容是只读数据,不可以q改变;但是指向的地址可以改变。

2、int* const p:必须先对指针初始化,而且指向的地址是只读的,不可以再被改变;但是指向的内容可以改变。

3、const int* const p:既不可以改变指针指向的地址,也不可以改变指针指向的内容。

时间: 2024-12-07 11:46:41

C语言:指针的几种形式的相关文章

C语言:指针的几种形式二

一.const指针 1.const int* p和int const* p:两者意义是相同的.指向的内容是只读数据,不可以q改变:但是指向的地址可以改变. 2.int* const p:必须先对指针初始化,而且指向的地址是只读的,不可以再被改变:但是指向的内容可以改变. 3.const int* const p:既不可以改变指针指向的地址,也不可以改变指针指向的内容. 二.指针数组:元素类型全是指针 类型名称*数组名[数组长度] 例如: char* pc[10]:字符指针数组,常用来可以表示一个

go语言for的三种形式

在Go中其他循环遍历的控制语句,唯有for.而for同样也是比较灵活的: package main import "fmt" func main() {     // 最基本的一种,单一条件循环    // 这个可以代替其他语言的while循环    i := 1    for i <= 3 {        fmt.Println(i)        i = i + 1    }     // 经典的循环条件初始化/条件判断/循环后条件变化    for j := 7; j &

C语言指针

C语言指针 指针是什么? 指针也是一个变量,但是这个变量存储的是一个地址,指向一个存储单元.我们可以根据指针(地址)找到他所指的变量,并对这个变量进行操作(赋值等).通过C里面的取地址符号&和取所指内容的符号*可以很方便的表示指针以及指针所指的变量之间的关系 /* ============================================================================ Name C语言指针 : text.c Author : Version : C

11-C语言指针

一. 指针前奏 1. 指针的重要性 指针是C语言中非常重要的数据类型,如果你说C语言中除了指针,其他你都学得很好,那你干脆说没学过C语言. 2. 小需求 l void change(int  n)函数调用完毕后,改变实参的值 l 分析:修改实参的值->找到存储空间->地址 二. 指针变量的定义 1. 定义的格式 l 类名标识符 *指针变量名; l int *p; 2. 先定义后赋值 l 简单取值 int a = 10; int *p; p = &a; printf("%d&q

C语言指针讲解

指针是C语言的一种数据类型,类似于C中的其他类型,例如int ,char 等.既然指针是一种类型,当我们定义该类型变量,该类型变量就称为指针变量. C中有了指针就有了指向.指向:指针变量指向本身保存的内容(地址或指针)所表示的内存单元. C语言指针是一个特殊的变量,其里面储存的数值被解释成为内存里的一个地址. 在计算机中,所有对数据的操作,都是通过其地址进行的,指针让程序的效率更高,代码更少. 在学习指针的时间,一定要理解并区分指针的四个感念:指针的类型,指针所指向的类型,指针的值,指针本身所占

C语言指针的陷阱

C语言指针的陷阱   分类: C/Cpp 转自:http://blog.csdn.net/porscheyin/article/details/3461670 "C语言诡异离奇,陷阱重重,却获得了巨大成功!"--C语言之父Dennis M.Ritchie.Ritchie大师的这句话体现了C语言的灵活性以及广泛的使用,但也揭示了C是一种在应用时要时刻注意自己行为的语言.C的设计哲学还是那句话:使用C的程序员应该知道自己在干什么.有时用C写的程序会出一些莫名其妙的错误,看似根源难寻,但仔细

C语言指针的初始化和赋值

1.指针的初始化 指针初始化时,"="的右操作数必须为内存中数据的地址,不能够是变量,也不能够直接用整型地址值(可是int*p=0;除外,该语句表示指针为空).此时,*p仅仅是表示定义的是个指针变量,并没有间接取值的意思. 比如: int a = 25; int *ptr = &a; int b[10]; int *point = b; int *p = &b[0]; 假设:int  *p; *p = 7; 则编译器(vs2008)会提示The variable 'p'

c语言指针学习

前言 近期俄罗斯的陨石.四月的血月.五月北京的飞雪以及天朝各种血腥和混乱,给人一种不详的预感.佛祖说的末法时期,五浊恶世 ,十恶之世,人再无心法约束,道德沦丧,和现在正好吻合.尤其是在天朝,空气,水,食品,你能告诉还有没有问题的吗?不知大难至,世人依旧忙.祸福相依,危中有机.那些高级生命,出于慈悲,会救渡我们,但是你要去思考,去发现机缘. 最近较闲,没事就学点基础知识,整天在上层晃,感觉晕的厉害,接地气.关于指针我上学的时候学过一点,我的老师说"指针很难呢",当时以为这老师挺谦虚的.后

C语言指针解说

指针是C语言的一种数据类型.类似于C中的其它类型,比如int ,char 等.既然指针是一种类型,当我们定义该类型变量.该类型变量就称为指针变量. C中有了指针就有了指向. 指向:指针变量指向本身保存的内容(地址或指针)所表示的内存单元. C语言指针是一个特殊的变量.其里面储存的数值被解释成为内存里的一个地址. 在计算机中,全部对数据的操作,都是通过其地址进行的.指针让程序的效率更高,代码更少. 在学习指针的时间,一定要理解并区分指针的四个感念:指针的类型,指针所指向的类型,指针的值,指针本身所