6.15 c语言

数组指针

c 复制代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a[3][2] = {{1,2},{3,4},{5,6}};
    int (*p)[2],i,j;
    p = a;
    for(i=0;i<3;i++)
    {
        for(j=0;j<2;j++)
        {
            printf("%d %d\n",p[i][j],*(*(p+i)+j));
        }
        printf("\n");
    }
    return 0;
}

10.7 字符指针和字符串

c语言通过使用字符数组来处理字符串

char类型的指针变量称为字符指针变量,字符指针变量与字符有着密切关系,他也被用来处理字符串

初始化字符指针是把内存中字符串的首地址赋予指针

当一个字符指针指向一个字符串常量时,不能修改指针指向的对象的值

c 复制代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
    char ch1[] = "hello";
    char ch2[] = "hello";
    char *p;
    p = ch1;
    if(isalpha(*p))
    {
        if(isupper(*p))
        {
            *p = tolower(*p);
        }
        else
        {
            *p = toupper(*p);
        }
    }
    printf("%s %s\n",p,ch1);
    p = ch2;
    printf("%s\n",ch2);
    return 0;
}

静态存储区:

1、全局变量

2、static局部变量

3、字符串常量//char *p = "welcome";

栈区:指针变量

字符串常量不能被修改,因为存储在静态存储区//会发生段错误

c 复制代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
    char a[] = "hello";
    char *p = "world";
    strcpy(p,a);//段错误,字符串常量被赋值
    puts(a);
    puts(p);
    return 0;
}
c 复制代码
#include <stdio.h>
#include <stdlib.h>//实现字符串连接功能
int main()
{
    char a[100] = "hello world";
    char *p = "welcome";
    int i = 0;
    char *q;
    q = p;
    while(*(a+i) != '\0')
    {
        i++;
    }
    while(*p != '\0')
    {
        *(a+i) = *p;
        p++;
        i++;
    }
    *(a+i) = *p;
    p = q;
    puts(a);
    puts(p);
    return 0;
}
相关推荐
云雾J视界41 分钟前
从位运算到状态机:用纯C重构红外/DS18B20/I²C协议,告别“黑盒库“的嵌入式实战指南
c语言·数据库·重构
代码游侠3 小时前
日历的各种C语言实现方法
c语言·开发语言·学习·算法
玩转C语言和数据结构14 小时前
C语言编程入门攻略(最新学习路线,适合新手小白)
c语言·c语言入门·c语言下载·c语言知识点总结·c语言自学·c语言教程·c语言怎么学
Bona Sun14 小时前
单片机手搓掌上游戏机(十四)—pico运行fc模拟器之电路连接
c语言·c++·单片机·游戏机
无限进步_15 小时前
C语言数组元素删除算法详解:从基础实现到性能优化
c语言·开发语言·windows·git·算法·github·visual studio
松涛和鸣15 小时前
16、C 语言高级指针与结构体
linux·c语言·开发语言·数据结构·git·算法
口袋物联17 小时前
设计模式之适配器模式在 C 语言中的应用(含 Linux 内核实例)
c语言·设计模式·适配器模式
!停18 小时前
函数递归的应用
c语言
feng_you_ying_li20 小时前
Detailed explanation of being processing
c语言
玖剹20 小时前
递归练习题(四)
c语言·数据结构·c++·算法·leetcode·深度优先·深度优先遍历