C编程 知识点 小记
来源:互联网 发布:php数组中删除指定元素 编辑:程序博客网 时间:2024/05/21 11:24
学习使用C语言也N年了,但是发现却总有一些小地方还是会忘记....就随手记记吧!
2012.12.26
#include <stdio.h>void main(void){char ptr1[] = "pear";//字符串数组char *prt2 = "orange";//定义一个指针,指向字符串char *ptr3[2]={"apple","banner"};//定义指针数组,分别指向两个不同字符串,算是char *prt2的升级char (*ptr4)[3]={"Watermelon"};//定义一个指针指针指向字符串,且每个指针的长度为2个字符,算是char *prt2的升级printf("ptr1:%s\n",ptr1);//显示ptr1字符串数组printf("ptr1:%c\n",ptr1[2]);//显示ptr1字符串数组的第三个字符printf("ptr2:%s\n",prt2);//显示ptr2字符串指针指向的字符串printf("ptr2:%s\n",prt2+2);//显示(ptr2字符串指针+2)指向的字符串printf("ptr2:%c\n",*(prt2+2));//显示(ptr2字符串指针+2)指向的字符printf("ptr3[0]:%s\n",ptr3[0]);//显示一个字符串只要变量中给与首地址就好了printf("ptr3[0]:%d\n",ptr3[0]);//这样是显示存字符串的那个地址空间的数值printf("ptr4:%s\n",ptr4);printf("ptr4[0]:%s\n",ptr4[0]);//显示ptr4从0开始的整个字符串printf("ptr4[1]:%s\n",ptr4[1]);//显示ptr4从1*3开始的后面的字符串printf("ptr4[2]:%s\n",ptr4[2]);//显示ptr4从2*3开始的后面的字符串//下面几行,ptr1[2]是变量,所以可以赋值,*(prt2+2)是字符串常量的一部分,不可赋值。ptr1[2] = 'd';printf("ptr1:%c\n",ptr1[2]);//*(prt2+2) = 'd';//printf("ptr2:%c\n",*(prt2+2));//char* p是一个指针,根本没分配内存,他指向的"abc123ABC" 是只读的,不能改变,你在下面给他赋值肯定是错的//而char p[]是一个数组,已经分配内存,是将"abc123ABC" 复制到该内存里面,这个内存是可读写的//你只要记住,指针是不分配内存的,它指向的是系统的只读的内存,所以只读//数组是分配内存的,就是将系统的只读的内存里面的值复制到它的内存里面,因此可读写//显示字符串时用指针,显示字符时要用指针指向的内容//ptr1是数字名,同时也是指向数组的指针,ptr1[0]是内容,&ptr1[0]是指向ptr1[0]的指针。}
PS:
char (*ptr3)[2]={"apple","banner"};warning C4047: 'initializing' : 'char (*)[2]' differs in levels of indirection from 'char [6]'
error C2078: too many initializers
因为char (*ptr3)[2]实质上是和char (*ptr3)一样的,只是用[2]控制了一下每个指针的字符串的长度。
- C编程 知识点 小记
- C基础知识点小记
- C语言知识点小记
- C安全编程知识点
- 2017秋招知识点小记(C/C++)
- [个人博客搬运]Effective Objective-C 2.0知识点小记
- 看书小记1(《C专家编程》)
- 看书小记2(《C专家编程》)
- 看书小记3(《C专家编程》)
- 看书小记4(《C专家编程》)
- 看书小记5(《C专家编程》)
- 看书小记6(《C专家编程》)
- 看书小记7(《C专家编程》)
- 看书小记8(《C专家编程》)
- 看书小记9(《C专家编程》)
- 小记Matlab和C混合编程
- 【C】《C专家编程》核心知识点总结
- c# 知识点小记
- 40个迹象表明你还是php菜鸟
- JDBC连接池、监控组件 Druid
- First
- 用jdbc连接sqlserver数据库,driver和url问题
- 高通AR
- C编程 知识点 小记
- cannot find -lz
- vmware虚拟机使用记录
- Nginx:承受3万并发连接数,胜过Apache 10倍
- Amber12发布了
- 华为,工资岗位揭秘 2010年08月02日
- postgresql 热备份和恢复
- UVa 476 - Points in Figures: Rectangles
- Ubuntu文件属性