加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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(;
}

输出:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读