c语言之指针数组
发布时间:2020-12-16 09:07:05 所属栏目:百科 来源:网络整理
导读:什么是指针数组? 一个数组,里面存放的元素均为指针类型数据,被称为指针数组。 其定义形式? int *name[4]; 基本实例一:利用数组初始化指针数组 #includestdio.h #include iostream #include string .h int main() { int a[ 5 ] = { 1 , 2 ,1)">3 ,1)">4
什么是指针数组? 一个数组,里面存放的元素均为指针类型数据,被称为指针数组。 其定义形式? int *name[4]; 基本实例一:利用数组初始化指针数组 #include<stdio.h> #include<iostream> #include<string.h> int main() { int a[5] = { 1,2,1)">3,1)">4,1)">5 }; int* name[5] = { &a[0],&a[1],1)">2],1)">3],1)">4] }; i; for ( i = 0; i < 5; i++) { printf("%dn",*name[i]); } system(pause"); return 0; } 基本实例二:将字符串按照从小到大进行排序 #include<stdio.h>//将字符串按其首字母进行排序 传入的是指针数组 void sort(char* str[], n) { char* tmp; i,j,k; 从第0个位置开始,到倒数第二个字符串 for (i = 0; i < n-1; i++) { k用于记录当前的字符串小标, k = i; 遍历第i个之后的字符串,到最后一个为止 for ( j = i+1; j < n; j++) { strcmp用于比较字符串str1和str2是否相同。如果相同则返回0; 如果不同,在不同的字符处如果str1的字符大于str2的字符,则返回1,否则返回-1 if(strcmp(str[k],str[j])>) { 将较小的赋值给k k = j; } 如果当前最小的位置已经不是i了,就将第i个位置和第k个位置的字符串进行交换 if (k != i) { tmp = str[i]; str[i] = str[k]; str[k] = tmp; } } } } void print( n) { 0; i < n; i++%sn,str[i]); } } 定义一个指针数组,指向的是数组中的每一个字符串 注意在visual stdio2019中会报错,解决方法参考https:www.cnblogs.com/xiximayou/p/12121287.html 中的第一种方式,一了百了 char* str[] = { hellogoodbyehihella n); int n = ; sort(str,n); print(str,n); system(; } 输出: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |