`

字符数组

 
阅读更多

      在C语言中,看如下两个式子有何不同?

      char* p1="hello";
      char p2[]="hello";

    对于第一个式子:是无需开辟内存空间存储"hello",字符串常量存储在静态区(好像是),p1是一个指针直接指向该区域的这个字符串常量即可。

    对于第二个式子:需要专门开辟6个字符的内存区域(最后一位是'\0')以存储"hello"。

 

2.字符指针当做字符数组使用的办法:

 

 //开辟3个char的空间,最后一个为'\0'
char* p=(char*)malloc(sizeof(char)*3); 
//但是给它超过三个元素位置都赋值也没问题呀?
//答:虽然可以溢出式的赋值但是可能出现未知的问题,但是p[0]到p[2]之间的是安全的!!!
        p[0]='h';
	p[1]='h';
	p[2]='h';
	p[3]='h';
	p[4]='h';
	p[5]='\0';
	
	printf("%s\n",p);

//结果:
hhhhh

 

分享到:
评论

相关推荐

    字符数组转换成字符串

    在编程领域,字符数组是存储单个字符的集合,而字符串则是由零或多个字符组成的序列,通常以空字符'\0'作为结束标志。字符数组转换成字符串是常见的操作,尤其在C语言及其衍生的编程语言中。这个过程涉及到字符数组...

    整形数组与字符数组相互转换

    本示例涉及的是整形数组(int array)与字符数组(uchar array)之间的转换,这对于数据存储和传输具有重要意义。在Qt或VC++环境中,这种转换对于数据库交互,特别是当数据库要求特定数据格式时,尤为关键。 首先,...

    C语言程序设计-编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不能使用strcpy函数。拷贝时,

    编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不能使用strcpy函数。拷贝时,'\0'也要拷贝过去。 (代码提示:for(i=0;i(s2);i++) s1[i]=s2[i];)

    一维字符数组大小写转换及字符与数字转换.pdf

    一维字符数组大小写转换及字符与数字转换.pdf 本资源主要讲解了 C 语言中的一维字符数组大小写转换和字符与数字转换的相关知识点。 知识点 1: 字符数组大小写转换 在 C 语言中,字符数组是一种常用的数据结构,...

    定义一个字符数组,输入一串字符,统计其中字符的ACSII码值个位数是3的字符个数。

    字符数组

    字符数组与字符指针

    ### 字符数组与字符指针详解 #### 一、引言 在C/C++编程语言中,字符数组和字符指针是非常重要的数据类型,尤其是在处理文本数据时。这两种类型的使用非常广泛,但在实际编程过程中,不少开发者往往会在它们之间...

    字符数组的特殊性

    字符数组在C++中具有独特的特性,这主要是由于它们经常被用来存储字符串,而字符串在计算机科学中扮演着重要角色。下面将详细解释字符数组的特殊性。 首先,字符数组的初始化方式与其他数组有所不同。我们可以指定...

    C语言字符数组初始化

    ### C语言字符数组初始化详解 #### 一、字符数组的定义与初始化 在C语言中,字符数组是一种非常重要的数据结构,主要用于存储一系列字符。字符数组的定义与初始化是掌握其使用的基础。以下是对字符数组定义及初始...

    C语言教学课件:13-3_字符数组.ppt

    【字符数组】是C语言中用于存储字符串的基本数据结构。字符串在C语言中实际上是字符数组,以`\0`(空字符)作为终止标志。字符数组的定义、使用、初始化和赋值是理解C语言字符串处理的关键。 1. **字符数组的定义**...

    字符数组字符指针sizeofstrlen的一点总结

    ### 字符数组与字符指针详解 #### 一、字符数组与字符指针的基本概念 在C语言中,字符数组和字符指针是处理文本数据的两种常见方式。字符数组通常用于存储固定长度的字符串,而字符指针则用于指向字符串的首地址。...

    栈字符数组&混淆指针和数组所导致的错误

    在编程世界中,栈字符数组和指针与数组的关系是两个重要的基础知识,它们在实际编程中经常被使用,但同时也容易引发错误。本文将详细探讨这两个主题,旨在帮助你理解和避免相关的问题。 首先,让我们来看看栈字符...

    Java实现字符数组全排列的方法

    全排列是指从给定的字符数组中,按照一定的顺序生成所有可能的排列组合。这个问题通常使用回溯法来解决,因为它能够有效地避免重复的排列。下面我们将深入探讨如何使用Java实现字符数组的全排列。 首先,我们需要...

    C语言字符数组与字符串.ppt

    字符数组的概念、使用 字符串的概念 字符数组与字符串的关系 常用字符串处理函数的使用

    思维挑战14:字母排序-字符数组.zip

    在这个“思维挑战14:字母排序-字符数组”的主题中,我们主要关注的是如何使用C语言来处理字符数组,特别是对字母进行排序。C语言是一种底层编程语言,它提供了直接操作内存和数据结构的能力,因此非常适合这样的...

    c语言 利用字符数组实现两个大整数的加减法.exe

    c语言 利用字符数组实现两个大整数的加减法.exe

    (c#)字符串转换成字符数组 字符串转换成int 数组

    在本篇文章中,我们将深入探讨如何在C#中将字符串转换为字符数组及整数数组。这是一项在处理文本数据时非常有用的技术,特别是在需要对数据进行解析、格式化或进一步处理的情况下。以下是对该主题的详细解释: ### ...

    C# 中的类型转换之字符串和字符数组之间的转换

    C# 中的类型转换之字符串和字符数组之间的转换 C# 中的类型转换是一个非常重要的概念,它使得我们可以在不同的数据类型之间进行转换,以满足不同场景下的需求。在字符串和字符数组之间的转换是我们经常遇到的问题,...

    c语言_satisfiedusp_字符数组和字符串_

    在C语言中,字符数组和字符串是编程时经常会遇到的基本数据结构。它们在处理文本信息时扮演着核心角色。字符数组本质上是存储字符的数组,而字符串则是一种特殊的字符数组,通常以空字符'\0'作为结束标识。下面将...

    cstring是一个在C语言中的字符串类型,针对字符数组或动态字符数组作出了一些优化,使得字符串类型更加易用.zip

    cstring是一个在C语言中的字符串类型,针对字符数组或动态字符数组作出了一些优化,使得字符串类型更加易用.cstring 类型cstring是一个在C语言中的字符串类型,针对字符数组或动态字符数组作出了一些优化,使得字符...

    C#将字符串数组传递给C++ DLL.rar

    C#中的字符串是引用类型,由.NET框架管理,而C++中的字符串可以是字符数组(char*)或宽字符数组(wchar_t*)。因此,传递字符串数组时,需要进行适当的类型转换。 1. **定义C++ DLL接口**: 在C++ DLL中,我们...

Global site tag (gtag.js) - Google Analytics