博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组名和指针
阅读量:5954 次
发布时间:2019-06-19

本文共 799 字,大约阅读时间需要 2 分钟。

#include <stdio.h>

int main()
{
char str[10]="123456789";
char *pStr = str;
printf("%d\n", sizeof(str));
printf("%d\n", sizeof(sizeof(pStr)));
printf("%s\n", str);
printf("%s\n", pStr);
return 0;
}

运行如上程序,结果显示

10

4

123456789

123456789

ps:printf("%s",)  逗号后面直接填想要输出的字符串的位置的指针,例如printf("%s",str+1);或者printf("%s",pStr+1);就会输出23456789

sizeof是一种操作符,不是函数,因为sizeof(int);这条语句合法,但是函数中不可能将数据类型作为形参.

说明1.数组名指代是一种数据结构--数组,因为10和4的区别

但是如上面程序2.数组名又可以常量指针赋给其他变量指针,因为pStr一样可以输出字符串;

#include <stdio.h>

void arrayTest(char str[])
{
printf("%d\n",sizeof(str) );
printf("%s\n",++str);
}
int main()
{
char str1[10] = "ILoveU";
arrayTest(str1);
return 0;
}

运行上面程序结果为

4

LoveU

说明3.(1) 数组名作为函数形参时,在函数体内,其失去了本身的数据内涵,仅仅只是一个指针; 

  (2) 在失去其内涵的同时,它还失去了其常量特性,可以作自增、自减等操作,可以被修改。

 

 
 

转载于:https://www.cnblogs.com/ma77045728/p/6919946.html

你可能感兴趣的文章
华为交换机的端口hybrid端口属性配置
查看>>
算法学习之归并排序(java实现)
查看>>
css3在线快速制作工具
查看>>
linux系统进入救援模式
查看>>
oracle常用网址
查看>>
我的友情链接
查看>>
10个SQL注入工具
查看>>
[李景山php]每天laravel-20160826|EncryptionServiceProvider
查看>>
[李景山php]每天laravel-20161005|Validator.php-5
查看>>
php读取大文件详解【OK】
查看>>
Gnome 快捷键汇总
查看>>
Android基础知识点的整理3
查看>>
一次安装tengine的经历
查看>>
Deploy sahara on openstack-icehouse
查看>>
安装saltstack遇到的问题锦集
查看>>
通过注册表修改我的文档等系统文件夹默认位置
查看>>
实验四 链路聚合
查看>>
An internal error occurred during: "Android Library Update".
查看>>
ajax详解
查看>>
codeforces 811C Vladik and Memorable Trip[补]
查看>>