当前位置: 首页 > news >正文

丰台广州网站建设平罗县住房和城乡建设局网站

丰台广州网站建设,平罗县住房和城乡建设局网站,首码项目网,网络建设与管理包括哪些方面目录 1.字符指针 2.指针数组 3.数组指针 3.1.创建数组指针 3.2.数组名和数组名 1.字符指针 int main() { char ch w;char* pc ch;const char *p abcdef;//常量字符串 产生的值就是首元素的地址//常量字符串不能被修改 因此需要加上一个…目录 1.字符指针 2.指针数组 3.数组指针 3.1.创建数组指针 3.2.数组名和数组名         1.字符指针 int main() { char ch w;char* pc ch;const char *p abcdef;//常量字符串 产生的值就是首元素的地址//常量字符串不能被修改 因此需要加上一个constprintf(%s, p);//打印字符串只要有字符串的起始位置就可以了不用解引用如果解引用打印的就是a.return 0; } //*p a;//如果加上这一行程序不会报错但是会崩溃 内存中的放置是  指针指向是字符串首个元素的地址 字符串和数组本质上是差不多的都是在内存中连续存储的。但是整型数组是无法依靠一个%s将数组完全输出因为数组中没有\0和0停止字符。 例题 #include stdio.h int main() {char str1[] hello bit.;char str2[] hello bit.;char *str3 hello bit.;char *str4 hello bit.;//常量字符串不会被修改在内存中只会创建一次if(str1 str2)printf(str1 and str2 are same\n);//数组的名字是数组首元素的地址因此不相等elseprintf(str1 and str2 are not same\n);if(str3 str4)printf(str3 and str4 are same\n);//因此他们两个指向的地址是一样的。 else //比较是两个数组的地址两者的地址会指向同一个字符串printf(str3 and str4 are not same\n);return 0; } 2.指针数组 指针数组是用来存放指针的数组。 int* arr1[10]; //整形指针的数组 char *arr2[4]; //一级字符指针的数组 char **arr3[5];//二级字符指针的数组 举例1 int main() {//存放字符指针的数组指针数组const char* arr[5] { abcdef,未经遗憾寒彻骨,怎得梅花扑鼻香,123456 };int i 0;for (i 0; i 4; i){printf(%s\n, arr[i]);}return 0; } 举例2 #include stdio.h int main() {//使用一维数组和指针数组来模拟二维数组//1、创建一维数组int arr1[4] { 1,2,3,4 };int arr2[4] { 2,3,4,5 };int arr3[4] { 3,4,5,6 };int arr4[4] { 4,5,6,7 };//2、创建指针数组int *arr[4] { arr1,arr2,arr3,arr4 };//3、采用循环的方式打印数组int i 0;for (i 0; i 4; i){int j 0;for (j 0; j 4; j){//printf(%d ,(*arr[i]j) );上述的写法和下述的写法在规则上含义是相同的printf(%d , arr[i][j]);}printf(\n);}return 0; }3.数组指针 引入 字符指针—存放字符地址的指针—指向字符的指针 char* 整型指针—存放整型地址的指针—指向整型的指针 int* 浮点型指针—存放浮点型地址的指针—指向浮点型的指针 float* 数组指针——存放数组地址的指针—指向数组的指针指向的整个数组因此数组指针是一个指针。 3.1.创建数组指针 int main() {int a 10;int *pa a;int arr[10] { 0 };int * pa1[10] arr;//会报错的哦//等号前面前面的是指针数组其中存储的类型是int * 和arr数组指针不同类型int (*pa2)[10] arr;//数组指针,在去掉pa之后//int(*)[10] arr;表示类型是数组指针 arr是数组的名字 int[10]是数组的类型 return 0; } 上述程序会报错的哦。 char arr[5]; char(*pc)[5] arr;//数组的指针必须有数据类型和数组元素个数这就是数组的类型 数组指针的用法较为鸡肋加深印象 int main() {//创建数组int arr[10] { 1,2,3,4,5,6,7,8,9,10 };//创建数组指针int(*pa)[10] arr;int i 0;for (i 0; i 10; i){printf(%d , (*pa)[i]);}return 0; } 数组指针解引用之后就可以得到整个数组了 打印二维数组的话会比较方便一点这里要先知道二维数组的名字是第一行一位数组的数组指针。 #include stdio.h void Print(int str[3][4]) {int i 0;//行数for (i 0; i 3; i){int j 0;//列数for (j 0; j 4; j){printf(%d ,(*(stri))[j] );//[]的优先级比*优先级高因此外部再加一个括号提高优先级//(*(str i))[j] 和str[i][j]两者是一样的}printf(\n);} }int main() {//创建一个完整的二维数组int arr[3][4] { {1,2,3,4},{2,3,4,5},{3,4,5,6} };//使用函数传址来打印Print(arr);return 0; } 3.2.数组名和数组名         结论数组名是整个数组的地址数组名就是首元素的地址 int main() {int arr[10] { 0 };//数组名字printf(%p\n, arr);printf(%p\n, arr1);//数组的首元素地址printf(%p\n, arr[0]);printf(%p\n, arr[0]1);//数组指针 数组名printf(%p\n, arr);printf(%p\n, arr1);return 0; } 上述arr1跳过的是整个字符因此arr取出的指针指向的是整个数组。 int arr[5]; //整型数组存储5个元素 int *parr1[10]; //指针数组存储指针数据10个 int(*parr2)[10]; //数组指针parr2是指针变量指向的是数组int[10] ,有10元素 int(*parr3[10])[5]; //数组指针指针变量是parr3[10],指向的是int[5], //相当于有一个int [10],每一个元素中装一个int[5]的地址 int(*parr3[10])[5];图解 4.数组传参和指针传参 5.函数指针 6.函数指针数组 7.指向函数指针数组的指针 8.回调函数 9.指针和数组面试题的解析
http://www.hkea.cn/news/14356363/

相关文章:

  • 建设系统网站全名建筑模板尺寸是多少
  • 温州网站开发网站的制作网页设计作业制作个人网站
  • 第一模板网站上的模板怎么下载沈阳网站制作优化推广
  • 免费建立个人app网站大兴安岭地网站seo
  • 建设部门户网站电子商务网站制作步骤
  • 新建网站推广凌美上海建设工程网站
  • 汶上网站建设哪家好wordpress 高亮
  • 微信app网站建设吉林省建设信息管理平台
  • 网站空间要备案吗d?t网站模版
  • 东莞个人网站建设体育新闻最新消息
  • 做搞笑app好还是做电影网站好东莞常平健明眼科医院
  • 营销型网站建设电子书吉祥又聚财的公司名字
  • 网站设计自学seo网络推广员招聘
  • 易网 网站建设网站建设有哪些项目
  • 厦门网站建设代理手表网站的结构
  • 想做一个网站平台怎么做的互联网代运营公司
  • 贺兰县住房城乡建设局网站公司网站域名查询
  • 营销网站建设收费标准短视频运营是做什么的
  • wordpress 广告 插件seo如何去做优化
  • iis配置网站无法浏览龙华区是深圳最差的区
  • 株洲高端网站建设工作室过时的网站
  • 美容营销型网站wordpress core主题
  • 学科主题资源网站的建设长沙传媒公司招聘
  • 英文网站开发哪家好公司名注册查询网站
  • 重庆营销型网站建设价格长期大量手工活外发
  • 机械加工网站色彩搭配网店推广方案
  • 给别人建设网站的注意事项网站删除期查询
  • 云南省建设系统网站万州做网站多少钱
  • 济南网站开发定制北京外包推广
  • 自己创业做网站wordpress 大小