一、int main(int argc, char** argv,char* envp)

2023-11-02 13:12
文章标签 int main argv char argc envp

本文主要是介绍一、int main(int argc, char** argv,char* envp),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

32系统,指针大小为4字节
64系统,指针大小为8字节

  • 代码实现:
#include <iostream>
using namespace std;int main(int argc, char** argv, char* envp[])
{// argc:传入参数的个数+1,第一个参数为主函数生成的可执行程序本身// argv:传入的参数,有两种格式写法:char** argv;  char* argv[]// enpv:环境变量,最后一个值为空值cout << "参数的个数:" << argc << endl;for (int i = 0; i < argc; i ++ ){cout << "第" << i  << "个参数是:" << argv[i] << endl;}for (int i = 0; envp[i] != 0; i ++ ){cout << "第" << i  << "个环境变量是:" << envp[i] << endl;}// char char* char** char*[]// char:定义一个字符// char a[]:定义一个字符串数组,只能存放一个字符串// char* a = "abc":定义一个字符串数组,只能存放一个字符串// char** b ={"abc", "sdds"}:定义一个字符串数组,可以存放多个字符串// char* b[]:同上 char a = 'a'; //定义一个字符变量,一个字节std::cout << "a:" << a << std::endl;// static_cast<void*>(&a):类型转换,void*是一种通用指针类型,不转换// 输出会出错std::cout << "&a:" << static_cast<void*>(&a) << std::endl;char* a_p = &a; // 定义a_p,存放a_p的地址std::cout << "a_p:" << static_cast<void*>(a_p) << std::endl;std::cout << "a:" << *a_p << std::endl;const char* b = "hello"; //定义一个字符串数组,另const char** b_p = &b;std::cout << "&b:" << &b << std::endl;std::cout << "b_p:" << b_p << std::endl;std::cout << "b[0]:" << b[0] << std::endl;std::cout << "b:" << b << std::endl;// 另外一种定义字符串数组的方法char* c = (char*)"world";char** c_p = &c;std::cout << "c_p:" << c_p << std::endl;std::cout << "&c:" << &c << std::endl;std::cout << "c:" << *c_p << std::endl;std::cout << *(c+1) <<std::endl;const char* d[] = {b ,c};std::cout << d << std::endl;std::cout << *d << std::endl;std::cout << *(d+1) << std::endl;std::cout << d[0] << std::endl;const char** e = d;return 0;
}
  • 运行结果:
参数的个数:10个参数是:/home/mzb/slambook2/test1
a:a
&a:0x7ffe5c28ce43
a_p:0x7ffe5c28ce43
a:a
&b:0x7ffe5c28ce48
b_p:0x7ffe5c28ce48
b[0]:h
b:hello
c_p:0x7ffe5c28ce50
&c:0x7ffe5c28ce50
c:world
o
0x7ffe5c28ce70
hello
world
hello

这篇关于一、int main(int argc, char** argv,char* envp)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/330839

相关文章

跟我一起玩《linux内核设计的艺术》第1章(四)——from setup.s to head.s,这回一定让main滚出来!(已解封)

看到书上1.3的大标题,以为马上就要见着main了,其实啊,还早着呢,光看setup.s和head.s的代码量就知道,跟bootsect.s没有可比性,真多……这确实需要包括我在内的大家多一些耐心,相信见着main后,大家的信心和干劲会上一个台阶,加油! 既然上篇已经玩转gdb,接下来的讲解肯定是边调试边分析书上的内容,纯理论讲解其实我并不在行。 setup.s: 目标:争取把setup.

main函数执行前、后再执行的代码

一、main结束 不代表整个进程结束  (1)全局对象的构造函数会在main 函数之前执行,          全局对象的析构函数会在main函数之后执行;          用atexit注册的函数也会在main之后执行。  (2)一些全局变量、对象和静态变量、对象的空间分配和赋初值就是在执行main函数之前,而main函数执行完后,还要去执行一些诸如释放空间、释放资源使用权等操作   (3)

Oracle之用TO_CHAR函数将日期格式转化为不带前导零的月份和日

要求: 1、日期格式转化成字符串格式,月和日前面的0需要去掉,如日期2024-09-06需要转化成2024-9-6; 2、如果用截取拼接函数写法就会复杂,最好用TO_CHAR函数格式化实现。 正确写法: SELECT TO_CHAR(SYSDATE,'YYYY-fmMM-dd') AS DATE1 , -- 执行结果为 2024-9-6TO_CHAR(SYSDATE,'fmYYYY-MM-d

【C语言】---- 基本数据类型(char、int、float)

1 基本数据类型 C语言中的基本数据类型包括整型、浮点型和字符型,每种类型都有不同的存储大小和表示范围。以下是它们的常见表示形式和特点: 1.1 字符型 char类型用于表示单个字符,通常用于表示文本数据。char类型也被用来存储字符,但也可以用来存储较小的整数。在C语言中,char类型的大小一般为1字节(8位)。char类型可以是有符号的或无符号的,这取决于编译器和平台的实现。 1.2

mysql数据库中的字符串长度函数:LENGTH() 与 CHAR_LENGTH()

在数据库管理系统中,处理字符串数据时,了解字符串的长度是一个常见且重要的需求。无论是为了数据验证、格式化输出,还是在进行复杂的查询操作中,准确获取字符串的长度都是必不可少的。SQL标准提供了几种函数来帮助我们实现这一目标,其中LENGTH()和CHAR_LENGTH()是两个常被提及的函数,尽管它们在某些数据库系统中可能表现出相似的行为,但在一些细节上存在差异。本文将深入探讨这两个函数的用法及其区

TC开发中写多行属性char**处理方法

//申请一个动态的数组 char ** indeta_s = (char**)MEM_alloc( sizeof(char*)vec_indeta.size()+1); for(int k=0;k<vec_indeta.size();k++){ printf(“indeta添加到数组\n”); //给数组对象分配一个动态的字符串长度 indeta_s[k]=(char)MEM_alloc( siz

如何简便的将List<Integer>转换成int[]?

使用Java 8的流(Streams)  ArrayList<Integer> list = new ArrayList<>();int[] intArray = list.stream().mapToInt(Integer::intValue).toArray();  若是maven项目可使用Apache Commons Lang库 <dependency> <groupId>

RGB色转为灰度色算法-img2ascii_char

一、基础   对于彩色转灰度,有一个很著名的心理学公式: Gray = R0.299 + G0.587 + B0.114 二、整数算法   而实际应用时,希望避免低速的浮点运算,所以需要整数算法。   注意到系数都是3位精度的没有,我们可以将它们缩放1000倍来实现整数运算算法: Gray = (R299 + G587 + B114 + 500) / 1000   RGB一般是8位精度,现在缩放1

Syntax error on token int, VariableDeclaratorId expected after this token

Syntax error on token "int", VariableDeclaratorId expected after this token,看图,   <item name=" " type="id"/>; 这个的name没有,看图 删掉这行就行了,R.java就不会报错了!!!!!!!!!!!

Exception in thread main java.lang.NoClassDefFoundError: org/apache/juli/l

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/juli/l MyEclipse整合免安装版的Tomcat7,------> 看图吧 最后这个就可以在myeclipse里,使用你的tomcat,而不是用.bat打开!!!!