473,883 Members | 1,651 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

why still use C?

no this is no trollposting and please don't get it wrong but iam very
curious why people still use C instead of other languages especially C++.

i heard people say C++ is slower than C but i can't believe that. in pieces
of the application where speed really matters you can still use "normal"
functions or even static methods which is basically the same.

in C there arent the simplest things present like constants, each struct and
enum have to be prefixed with "struct" and "enum". iam sure there is much
more.

i don't get it why people program in C and faking OOP features(functi on
pointers in structs..) instead of using C++. are they simply masochists or
is there a logical reason?

i feel C has to benefit against C++.

--
cody

[Freeware, Games and Humor]
www.deutronium.de.vu || www.deutronium.tk
--
comp.lang.c.mod erated - moderation address: cl**@plethora.n et
Nov 13 '05
687 23872
> Hint: what is the type of 'a'?

char???????

that would mean sizeof((char)1) , sizeof((short)1 ) would output sizeof(int),
too.

But I tried it using the microsoft C Compiler and

printf("%i",siz eof('a'));

prints 1 (as expected from me), whereas

printf("%i",siz eof('a'+'b'));

outputs 4 (as expected)

--
cody

[Freeware, Games and Humor]
www.deutronium.de.vu || www.deutronium.tk
Nov 13 '05 #191
cody wrote:
sizeof (int)==sizeof ('a') is never true on no C nor C++ compiler on this
world.

Don't you ever get tired of looking like a fool?


Brian Rodenborn
Nov 13 '05 #192
cody wrote:
Hint: what is the type of 'a'?
char???????


Wrong.

that would mean sizeof((char)1) , sizeof((short)1 ) would output
sizeof(int), too.

But I tried it using the microsoft C Compiler and

printf("%i",siz eof('a'));

prints 1 (as expected from me),


That's not the C compiler. That's the C++ compiler. Change your file
extension to .c if you wish to invoke the C compiler.

--
Richard Heathfield : bi****@eton.pow ernet.co.uk
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
K&R answers, C books, etc: http://users.powernet.co.uk/eton
Nov 13 '05 #193
"cody" <do************ *********@gmx.d e> wrote:

[crosspost to c.s.c removed]
Hint: what is the type of 'a'?
char???????

<sigh> Nooo!!!!!!!

Now that you are unwilling, unable or just too lazy, here you go:

ISO/IEC 9899:1999
6.4.4.4 Character constants
[...]
10 An integer character constant has type int. The value of an integer
character constant containing a single character that maps to a
single-byte execution character is the numerical value of the
representation of the mapped character interpreted as an integer.
The value of an integer character constant containing more than one
character (e.g., 'ab'), or containing a character or escape sequence
that does not map to a single-byte execution character, is
implementation-defined. If an integer character constant contains a
single character or escape sequence, its value is the one that
results when an object with type char whose value is that of the
single character or escape sequence is converted to type int.
[...]

that would mean sizeof((char)1) , sizeof((short)1 ) would output sizeof(int),
too.

But I tried it using the microsoft C Compiler and


No. If at all, you tried it using a C++ compiler. And, as we all know:

<chorus> Cee plus plus is off topic in comp lang cee </chorus>

[drivel snipped]
--
No man is an island -- but some of us are long peninsulas.
Nov 13 '05 #194
In article <bm************ @ID-176797.news.uni-berlin.de>,
"cody" <do************ *********@gmx.d e> wrote:
Hint: what is the type of 'a'?


char???????

that would mean sizeof((char)1) , sizeof((short)1 ) would output sizeof(int),
too.

But I tried it using the microsoft C Compiler and

printf("%i",siz eof('a'));

prints 1 (as expected from me), whereas

printf("%i",siz eof('a'+'b'));

outputs 4 (as expected)


Try again. This time make sure that you use the compiler as a C
compiler, not a C++ compiler.
Nov 13 '05 #195
Brian Rodenborn wrote:
Don't you ever get tired of looking like a fool?


I don't think there was any call for that.

Nov 13 '05 #196
cody wrote:
sizeof (int)==sizeof ('a') is never true
on [any] C nor C++ compiler on this world. cat main.c #include<stdio. h>

int main(int argc, char* argv[]) {
fprintf(stdout, "%u = sizeof 'a'\n", sizeof 'a');
return 0;
}
gcc -Wall -std=c99 -pedantic -O2 -o main main.c
./main

4 = sizeof 'a'

Our indigenous trolls are more interested
in making new subscribers look foolish
than they are in helping them to understand
the C computer programming language.

Nov 13 '05 #197
"cody" <do************ *********@gmx.d e> writes:
Hint: what is the type of 'a'?


char???????


Let me explain why you're wrong.

The type of 'a' is int. The C99 standard, section 6.4.4.4 paragraph 2,
says:

An integer character constant is a sequence of one or more
multibyte characters enclosed in single-quotes, as in 'x'.

Paragraph 10 says:

An integer character constant has type int.

Any decent C textbook should explain this. Any C compiler (i.e., not
a C++ compiler) should allow you to demonstrate that sizeof('a') ==
sizeof(int). If you find that sizeof('a') != sizeof(int), you're not
using a C compiler.

(In C++, a character constant has type char, and sizeof('a') == 1.
We don't discuss C++ here.)

In most contexts, it doesn't matter whether a character constant has
type int or char; it's usually going to be implicitly converted
anyway. Personally, I would actually prefer it if character constants
had type char rather than int, but my preference isn't strong enough
to suggest changing the language.

If you're going to make definitive statements about these things,
please keep in mind that you're hanging out with experts. Some of us
(not including myself) helped write the standard; a lot of us have a
copy of it just an arm's reach or a few keystrokes away.

If you want to learn, we'll be delighted to help. At your current
level of knowledge, I think you're generally better off asking
questions than answering them. And in many cases you can find the
answers in the C FAQ or in a good textbook.

And speaking of the FAQ, I strongly suggest you read the whole thing.
It's at <http://www.eskimo.com/~scs/C-faq/top.html>. In particular, I
call your attention to question 8.9, "Why is sizeof('a') not 1?".

--
Keith Thompson (The_Other_Keit h) ks*@cts.com <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://www.sdsc.edu/~kst>
Schroedinger does Shakespeare: "To be *and* not to be"
Nov 13 '05 #198
> >> Hint: what is the type of 'a'?

char???????


Wrong.

that would mean sizeof((char)1) , sizeof((short)1 ) would output
sizeof(int), too.

But I tried it using the microsoft C Compiler and

printf("%i",siz eof('a'));

prints 1 (as expected from me),


That's not the C compiler. That's the C++ compiler. Change your file
extension to .c if you wish to invoke the C compiler.


Damn you are right :(

But the strange thing is, that

printf("%i",siz eof((char)'a')) ;

outputs 1. char is not the same as char. funny.

--
cody

[Freeware, Games and Humor]
www.deutronium.de.vu || www.deutronium.tk
Nov 13 '05 #199
"cody" <do************ *********@gmx.d e> wrote:
But the strange thing is, that

printf("%i",si zeof((char)'a') );

outputs 1. char is not the same as char.


No. A /character constant/ is not of type char.
--
Irrwahn
(ir*******@free net.de)
Nov 13 '05 #200

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
11266
by: William C. White | last post by:
Does anyone know of a way to use PHP /w Authorize.net AIM without using cURL? Our website is hosted on a shared drive and the webhost company doesn't installed additional software (such as cURL) on the server because of that. Our site will have an SSL certificate next week, so I would like to use AIM instead of SIM, however, I don't know how to send data via POST over https and recieve data from the Authorize.net server over an https...
2
5865
by: Albert Ahtenberg | last post by:
Hello, I don't know if it is only me but I was sure that header("Location:url") redirects the browser instantly to URL, or at least stops the execution of the code. But appearantely it continues to execute the code until the browser send his reply to the header instruction. So an exit(); after each redirection won't hurt at all
3
23053
by: James | last post by:
Hi, I have a form with 2 fields. 'A' 'B' The user completes one of the fields and the form is submitted. On the results page I want to run a query, but this will change subject to which field is completed.
0
8508
by: Ollivier Robert | last post by:
Hello, I'm trying to link PHP with Oracle 9.2.0/OCI8 with gcc 3.2.3 on a Solaris9 system. The link succeeds but everytime I try to run php, I get a SEGV from inside the libcnltsh.so library. 354 roberto@ausone:Build/php-4.3.2> ldd /opt/php4/bin/php libsablot.so.0 => /usr/local/lib/libsablot.so.0 libstdc++.so.5 => /usr/local/lib/libstdc++.so.5 libm.so.1 => /usr/lib/libm.so.1
1
8621
by: Richard Galli | last post by:
I want viewers to compare state laws on a single subject. Imagine a three-column table with a drop-down box on the top. A viewer selects a state from the list, and that state's text fills the column below. The viewer can select states from the drop down lists above the other two columns as well. If the viewer selects only one, only one column fills. If the viewer selects two states, two columns fill. Etc. I could, if appropriate, have...
4
18317
by: Albert Ahtenberg | last post by:
Hello, I have two questions. 1. When the user presses the back button and returns to a form he filled the form is reseted. How do I leave there the values he inserted? 2. When the user comes back to a page where he had a submitted POST data the browser keeps telling that the data has expired and asks if repost. How to avoid that? I tried registering all POST and GET vars as SESSION vars but
1
6890
by: inderjit S Gabrie | last post by:
Hi all Here is the scenerio ...is it possibly to do this... i am getting valid course dates output on to a web which i have designed ....all is okay so far , look at the following web url http://www.mis.gla.ac.uk/biquery/training/ but each of the courses held have maximum of 8 people that could be
2
31461
by: Jack | last post by:
Hi All, What is the PHP equivilent of Oracle bind variables in a SQL statement, e.g. select x from y where z=:parameter Which in asp/jsp would be followed by some statements to bind a value to :parameter I dont like the idea of making the SQL statement on the fly without binding parameters as I dont want a highly polluted SQL cache.
3
23617
by: Sandwick | last post by:
I am trying to change the size of a drawing so they are all 3x3. the script below is what i was trying to use to cut it in half ... I get errors. I can display the normal picture but not the results of the picture half the size. The PHP I have installed support 1.62 or higher. And all I would like to do is take and image and make it fit a 3x3. Any suggestions to where I should read or look would be appreciated.
0
9935
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
11137
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
10844
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10410
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9571
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5797
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5990
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4609
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
4215
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.