c语言学习笔记 - 指针和字符串】的更多相关文章

前面学习了字符串是一种字符数组,又知道了指针变量和数组的关系,这里来看一下指针和字符串的关系. #include <stdio.h> int main(void){ char str = "hello"; char *ptr = "abcd";  // 这里定义ptr为 char类型的指针, ptr的地址会指向这个字符串的首个字符, . int i; for(i=0;i<4;i++){            // printf("%c&q…
字符类型 char(character)是一种整数,也是一种特殊的类型:字符.这是因为 ① 用单引号表示的字符字符字面量:‘a’,'1' ②‘’也是一个字符 ③printf和scanf里用%c来输入.输出字符. #include<stdio.h> int main() { char c; char d; c = ; d = '; printf("c = %d,d = %d,d = %c\n",c,d,d); ; }//运行结果:c = 1,d = 49,d = '1' 通过…
结合内存存储数据的机制,c语言里指针的出现和使用也就不奇怪了,如果先学了内存的一些知识,以及程序运行机制,到了c指针这块就会清晰很多. #include <stdio.h> int main(void){ int a = 180; int b = 156; int *c  = &a;   // int 指数据类型 * 指这是一个指针变量,存的是地址,&a是 a变量的地址, 把a的地址存在c这个指针变量类型里. *c = 190 ;      // 这里c里已经存上一个地址数据了…
C++ 提供了以下两种类型的字符串表示形式: C 风格字符串 C++ 引入的 string 类类型 C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持.字符串实际上是使用 null 字符 '\0' 终止的一维字符数组.因此,一个以 null 结尾的字符串,包含了组成字符串的字符. 下面的声明和初始化创建了一个 "Hello" 字符串.由于在数组的末尾存储了空字符,所以字符数组的大小比单词 "Hello" 的字符数多一个. ] = {'H', 'e', '…
指针: 一个变量,其值为另一个变量的地址,即,内存位置的直接地址. 声明: int *ptr; /* 一个整型的指针,指针指向的类型是整型 */ double *ptr; /* 一个 double 型的指针,指针指向的类型是double*/ float *ptr; /* 一个浮点型的指针,指针指向的类型是float*/ char *ptr; /* 一个字符型的指针,指针指向的类型是char*/ 赋值: ; /*声明一个int型变量*/ int *ptr = NULL; /*声明一个int型指针,…
1. 指针阅读技巧:右左法则 (1)从最里层的圆括号中未定义的标示符看起 (2)首先往右看,再往左看 (3)遇到圆括号或方括号时可以确定部分类型,并调转方向 (4)重复 2.3 步骤,直到阅读结束 注意: 当读出是数组时,须读出元素个数.元素类型 当读出是函数是,须读出参数及类型,返回值类型 当读出是指针是,须读出指针所指向的类型,有时也须读出指针的类型. ① int (*p)(int*, int (*f)(int*)); A.读未标示符 f,向右遇”)”括号,调转向左遇*,所以 f 是个指针,…
1.数组的本质 (1)数组是一段连续的内存空间 (2)数组的空间大小:sizeof(array_type)*array_size; (3)数组名可看做指向数组第一个元素的常量指针 (4)数组声明时编译器自动分配一片连续的内存空间 ,而指针声明时只分配了用于容纳地址值的 4 字节空间 2.指针的运算 (1)指针是一种特殊的变量,与整数的运算规则为: p + n == (unsigned int)p + n * sizeof(*p); 当指针 p 指向一个同类型的数组的元素时,p+1 指向当前元素的…
指针也是一种变量,占有内存空间,用来保存内存地址,在32位系统中指针的占用的内存大小为4个字节 1.*号的意义 (1)在指针声明时,*号表示所声明的变量为指针 (2)在指针使用时,*号表示取指针所指向的内存空间中的值. ①*号类似一把钥匙,通过这把钥匙可以打开内存,读取内存中的值. ②变量 p 保存着变量 i 的内存地址,即 p==&i, *p==i #include <stdio.h> int main() { ; int* pI; char* pC; float* pF; pI =…
Go语言学习笔记九: 指针 指针的概念是当时学C语言时了解的.Go语言的指针感觉与C语言的没啥不同. 指针定义与使用 指针变量是保存内存地址的变量.其他变量保存的是数值,而指针变量保存的是内存地址.这个内存地址可能保存者一个基本数值. 指针变量也是有类型的.它需要知道自己保存的内存地址指向数值的类型,因为不同的数值类型占用的空间大小是不同的. 在指针中有两个重要的符号需要了解: &和. 其中&是用于获取普通变量的地址,而是获取内存地址指向的数值.看起来就是一对反向操作. 另外在声明指针时也…
GO语言学习笔记 1.数组切片slice:可动态增长的数组 2.错误处理流程关键字:defer panic recover 3.变量的初始化:以下效果一样 `var a int = 10` `var a = 10` `a := 10` (推荐写法) 注意::= 左侧的变量不能是被声明过的 4.定义常量:const关键字定义常量 5.以大写字母开头的常量在包外可见 6.Go语言内置的数据类型: 布尔型 bool 整形 int8.int16 浮点型 float32.64 复数 complex64 字…